[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

dwa łącza było ale nie wiem co z tym zrobic



Mam pytanie, które było już poruszanie na wielu forach,
Ale może gdzieś robie jakiś banalny błąd, którego nie mogę rozwiązać,
Mianowicie mam dwa łącza i chciałbym, żeby było tak, że jak pakiet np.
Ping idzie jednym łączem to, żeby nim wracał, bo teraz np. mam sytuacje, ze 
Request idzie jednym a reply wraca drugim i nie wiem co z tym zrobić, 
Do połączenia tych dwóch łącz użyłem skryptu:
#!/bin/bash
IP_ZEWNETRZNE1=xxx.xxx.xxx.xxx
SIEC1=xxx.xxx.xxx.ss1
GATEWAY1=xxx.xxx.xxx.gg1
IP_ZEWNETRZNE2=yyy.yyy.yyy.yyy
SIEC2=yyy.yyy.yyy.ss2
GATEWAY2=yyy.yyy.yyy.gg2

#eth0 i eth2 interfejsy podlaczone do netu.
ip rule del fwmark 0x20 lookup 20
ip rule del from $IP_ZEWNETRZNE1 lookup 20
ip route add $SIEC1 dev eth0 src $IP_ZEWNETRZNE1 table 20
ip rule add fwmark 0x20 table 20
ip route add default via $GATEWAY1 table 20

ip rule del fwmark 0x30 lookup 30
ip rule del from $IP_ZEWNETRZNE2 lookup 30
ip route add $SIEC2 dev eth2 src $IP_ZEWNETRZNE2 table 30
ip route add default via $GATEWAY2 table 30
ip rule add fwmark 0x30 table 30

ip rule add from $IP_ZEWNETRZNE1 table 20
ip rule add from $IP_ZEWNETRZNE2 table 30

iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o eth0 -j SNAT --to
$IP_ZEWNETRZNE1
iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o eth2 -j SNAT --to
$IP_ZEWNETRZNE2
iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j SNAT --to
$IP_ZEWNETRZNE1
iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth2 -j SNAT --to
$IP_ZEWNETRZNE2
#ssh
iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 0x20
#iptables -t mangle -A PREROUTING -p tcp --dport 22 -j RETURN
# poczta
iptables -t mangle -A PREROUTING -p tcp --dport 25 -j MARK --set-mark 0x20
#iptables -t mangle -A PREROUTING -p tcp --dport 25 -j RETURN
iptables -t mangle -A PREROUTING -p tcp --dport 110 -j MARK --set-mark 0x20
iptables -t mangle -A PREROUTING -p tcp --dport 110 -j RETURN
iptables -t mangle -A PREROUTING -p tcp --dport 995 -j MARK --set-mark 0x20
iptables -t mangle -A PREROUTING -p tcp --dport 995 -j RETURN
# DNS
iptables -t mangle -A PREROUTING -p tcp --dport 53 -j MARK --set-mark 0x20
iptables -t mangle -A PREROUTING -p tcp --dport 53 -j RETURN
iptables -t mangle -A PREROUTING -p udp --dport 53 -j MARK --set-mark 0x20
iptables -t mangle -A PREROUTING -p udp --dport 53 -j RETURN
# www
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 0x20
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j RETURN
iptables -t mangle -A PREROUTING -p udp --dport 80 -j MARK --set-mark 0x20
iptables -t mangle -A PREROUTING -p udp --dport 80 -j RETURN
# www - szyfrowane
iptables -t mangle -A PREROUTING -p tcp --dport 443 -j MARK --set-mark 0x20
iptables -t mangle -A PREROUTING -p udp --dport 443 -j MARK --set-mark 0x20

ip route add default scope global nexthop via $GATEWAY1 dev eth0 weight 1 \
nexthop via $GATEWAY2 dev eth2 weight 1
ip route flush ciche

nie wiem czy coś źle opisałem, ale z tego co wyczytałem na necie,
jeżeli pakiety icmp nie są markowane 0x20 bo nie markowałem ich za pomoca
iptables,
to powinny pojsc do tablicy 30, a tablica 30 to przynajmniej tak mi się
zdaje, ze to 
jest drugie łącze. 
Pytanie gdzie popełniłem błąd i czemu pakiety podróżują różnymi łączami.
Dla pomocy ip rule zwraca:
0:      from all lookup local
32724:  from IP_ZEWNETRZNE2 lookup 30
32725:  from IP_ZEWNETRZNE1 lookup 20
32726:  from all fwmark 0x30 lookup 30
32727:  from all fwmark 0x20 lookup 20
32766:  from all lookup main
32767:  from all lookup default
A ip route:
SIEC1 dev eth0  proto kernel  scope link  src IP_ZEWNETRZNE1
SIEC2 dev eth2  proto kernel  scope link  src IP_ZEWNETRZNE2
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.254
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.1
default
        nexthop via GATEWAY1 dev eth0 weight 1
        nexthop via GATEWAY2 dev eth2 weight 1

Pomoc jest niezbędna :), sam sobie nie dam rady,
Walcze z tym od trzech dni, a moje umiejętności są zbyt małe.

Pozdrawiam
Adam.



Reply to: