Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam.
Sytuacja wygląda tak, mam do serwera podpięte 2 łącza internetowe. Ruch z lanu jest odpowiednio dzielony na oba łącza, do serwera też można się dostać przez oba łącza ale... nie działa przekierowanie portów na łączu innym niż domyślne.
Moja konfiguracja:
iptables:
*nat :PREROUTING ACCEPT [3000:282841] :POSTROUTING ACCEPT [307:23397] :OUTPUT ACCEPT [305:22668] -A PREROUTING -p tcp -m tcp --dport 4000 -j DNAT --to-destination 192.168.0.4:4000 -A PREROUTING -p tcp -m tcp --dport 5001 -j DNAT --to-destination 192.168.10.10:5001 -A PREROUTING -p tcp -m tcp --dport 5002 -j DNAT --to-destination 192.168.10.25:5002 -A PREROUTING -p tcp -m tcp --dport 5003 -j DNAT --to-destination 192.168.10.19:5003 -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE COMMIT *mangle :PREROUTING ACCEPT [38186:12559353] :INPUT ACCEPT [1460:156670] :FORWARD ACCEPT [36724:12402563] :OUTPUT ACCEPT [991:148114] :POSTROUTING ACCEPT [37715:12550677] -A PREROUTING -i eth3 -m set --match-set WAN0_IPS src -j MARK --set-xmark 0x10/0xffffffff -A PREROUTING -i eth3 -m set --match-set WAN0_PORTS dst -j MARK --set-xmark 0x10/0xffffffff -A PREROUTING -i eth3 -m set --match-set WAN1_IPS src -j MARK --set-xmark 0x11/0xffffffff -A PREROUTING -i eth3 -m set --match-set WAN1_PORTS dst -j MARK --set-xmark 0x11/0xffffffff COMMIT *filter :INPUT ACCEPT [9:845] :FORWARD ACCEPT [268:16526] :OUTPUT ACCEPT [991:148114] :sshguard - [0:0] -A INPUT -p tcp -m tcp --dport 22 -j sshguard -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -m state --state NEW -j ACCEPT -A INPUT -s 192.168.10.0/24 -i eth3 -m state --state NEW -j ACCEPT -A INPUT -p tcp -m set --match-set WAN_OPEN_TCP dst -m state --state NEW -j ACCEPT -A INPUT -p udp -m set --match-set WAN_OPEN_UDP dst -m state --state NEW -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -m state --state NEW -j ACCEPT -A INPUT -p tcp -m state --state NEW -j REJECT --reject-with tcp-reset -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 192.168.10.0/24 -i eth3 -m state --state NEW -j ACCEPT -A FORWARD -m set --match-set PORT_FORWARD dst,dst -m state --state NEW -j ACCEPT COMMIT
iproute
zenek ~ # ip rule 0: from all lookup local 32762: from 195.150.129.240/28 lookup 10 32763: from all fwmark 0x10 lookup 10 32764: from 83.17.227.232/29 lookup 11 32765: from all fwmark 0x11 lookup 11 32766: from all lookup main 32767: from all lookup default zenek ~ # ip route 83.17.227.232/29 dev br0 proto kernel scope link src 83.17.227.236 195.150.129.240/28 dev eth0 proto kernel scope link src 195.150.129.245 192.168.10.0/24 dev eth3 proto kernel scope link src 192.168.10.1 127.0.0.0/8 dev lo scope link default via 195.150.129.242 dev eth0 default via 195.150.129.242 dev eth0 metric 10 default via 83.17.227.233 dev br0 metric 11 zenek ~ # ip route show table 10 192.168.10.0/24 dev eth3 scope link 127.0.0.0/8 dev lo scope link default via 195.150.129.242 dev eth0 zenek ~ # ip route show table 11 192.168.10.0/24 dev eth3 scope link 127.0.0.0/8 dev lo scope link default via 83.17.227.233 dev br0 zenek ~ #
I teraz jeżeli łączę się na przekierowany port na adres przypisany dla eth0 jest ok, ale przy połączaniu przez br0 mam timeout. Jeżeli łączę się natomiast na adres br0 do serwera (a nie na przekierowany) port jest OK.
Obstawiam że chodzi o to że pakiet wraca złym interfejsem (eth0 a nie br0). Jakieś pomysły jak to naprawić?
//EDIT: Jak to coś pomoże tutaj jest skrypt którym ustawiam routing: http://wklej.ciasny.net/3759
Offline