Portál AbcLinuxu, 27. dubna 2024 05:14


Dotaz: Přeposláni všech paketů eth rozhranní na jednu IP do vnitřní sítě

20.6.2014 13:23 jfialacz
Přeposláni všech paketů eth rozhranní na jednu IP do vnitřní sítě
Přečteno: 363×
Odpovědět | Admin
Mohl by mi prosím někdo poradit, jak nastavit iptables? Potřebuju přeposílat všechnu komunikaci, která přichází na port eth2 z vnějšku eth2:153.65.X.X na jednu vnitřní adresu eth0:39.80.X.X a aby se i pakety dostali zpět.

Skončil jsem zde: iptables -A FORWARD -i eth2 -o eth0 -p tcp -d 39.80.8.6 -j ACCEPT iptables -A FORWARD -i eth0 -o eth2 -p tcp -d 153.65.212.104 -j ACCEPT

Díky.

Jarda
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 20.6.2014 22:32 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Přeposláni všech paketů eth rozhranní na jednu IP do vnitřní sítě
Odpovědět | | Sbalit | Link | Blokovat | Admin
Předpokládám, že tím „přeposílat všechnu komunikaci“ myslíš DNAT, takže nejspíš nějak takhle.
Já to s tou denacifikací Slovenska myslel vážně.
23.6.2014 14:20 jfialacz
Rozbalit Rozbalit vše Re: Přeposláni všech paketů eth rozhranní na jednu IP do vnitřní sítě
Díky, ale zatím se to nedaří. PREROUTING i POSTROUTING mi vraci chybu: No chain/target/match by that name

iptables -A PREROUTING -p tcp -m tcp -d 153.65.122.239 --dport 9980 -j DNAT --to-destination 39.80.8.6:9980 iptables: No chain/target/match by that name iptables -A FORWARD -m state -p tcp -d 39.80.8.6 --dport 9980 --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -p tcp -m tcp -s 39.80.8.6 --sport 9980 -j SNAT --to-source 153.65.122.239 iptables: No chain/target/match by that name

FORWARD chain je OK: Chain INPUT (policy ACCEPT) target prot opt source destination

Chain FORWARD (policy ACCEPT) target prot opt source destination

Chain OUTPUT (policy ACCEPT) target prot opt source destination

Nasel jsem stranku, kde meli podobny problem a chybel ip_conntrack, ten mam. lsmod|grep con ip_conntrack 78492 4 ipt_MASQUERADE,xt_state,iptable_nat,ip_nat nfnetlink 23752 2 ip_nat,ip_conntrack

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 vlan4 link-local * 255.255.0.0 U 0 0 0 eth0 153.65.0.0 * 255.255.0.0 U 0 0 0 eth2 39.96.0.0 * 255.240.0.0 U 0 0 0 eth1 39.80.0.0 * 255.240.0.0 U 0 0 0 eth0 39.64.0.0 * 255.240.0.0 U 0 0 0 byn0 loopback * 255.0.0.0 U 0 0 0 lo default 153.65.122.1 0.0.0.0 UG 0 0 0 eth2

23.6.2014 14:22 jfialacz
Rozbalit Rozbalit vše Re: Přeposláni všech paketů eth rozhranní na jednu IP do vnitřní sítě
Díky, ale zatím se to nedaří. PREROUTING i POSTROUTING mi vraci chybu: No chain/target/match by that name
iptables -A PREROUTING  -p tcp -m tcp -d 153.65.122.239 --dport 9980 -j DNAT --to-destination 39.80.8.6:9980
iptables: No chain/target/match by that name
iptables -A FORWARD -m state -p tcp -d 39.80.8.6 --dport 9980 --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -p tcp -m tcp -s 39.80.8.6 --sport 9980 -j SNAT --to-source 153.65.122.239
iptables: No chain/target/match by that name
FORWARD chain je OK:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
Nasel jsem stranku, kde meli podobny problem a chybel ip_conntrack, ten mam.
lsmod|grep con
ip_conntrack           78492  4 ipt_MASQUERADE,xt_state,iptable_nat,ip_nat
nfnetlink              23752  2 ip_nat,ip_conntrack

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 vlan4
link-local      *               255.255.0.0     U     0      0        0 eth0
153.65.0.0      *               255.255.0.0     U     0      0        0 eth2
39.96.0.0       *               255.240.0.0     U     0      0        0 eth1
39.80.0.0       *               255.240.0.0     U     0      0        0 eth0
39.64.0.0       *               255.240.0.0     U     0      0        0 byn0
loopback        *               255.0.0.0       U     0      0        0 lo
default         153.65.122.1    0.0.0.0         UG    0      0        0 eth2
23.6.2014 14:39 Filip Jirsák
Rozbalit Rozbalit vše Re: Přeposláni všech paketů eth rozhranní na jednu IP do vnitřní sítě
PREROUTING i POSTROUTING jsou v tabulce nat, takže se tam určitě někde musí objevit parametr -t nat.
24.6.2014 13:53 jfialacz
Rozbalit Rozbalit vše Re: Přeposláni všech paketů eth rozhranní na jednu IP do vnitřní sítě
Diky, ted uz to system akceptoval. Upravil jsem to tedy na:
echo '1' > /proc/sys/net/ipv4/conf/eth0/forwarding
echo '1' > /proc/sys/net/ipv4/conf/eth2/forwarding
iptables -t nat -A PREROUTING  -p tcp -m tcp -d 153.65.122.239 --dport 9980 -j DNAT --to-destination 39.80.8.6:9980
iptables -A FORWARD -m state -p tcp -d 39.80.8.6 --dport 9980 --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -m tcp -s 39.80.8.6 --sport 9980 -j SNAT --to-source 153.65.122.239
Kdyz provedu (
/etc/init.d/network restart
), aby se aktivovalo povoleni forward mezi rozhrannimi, tak se to samo opet zakaze(ve forwarding je opet nula). Nemohl by byt problem tam?

Jarda
26.6.2014 11:57 kapo | skóre: 15 | blog: runtime
Rozbalit Rozbalit vše Re: Přeposláni všech paketů eth rozhranní na jednu IP do vnitřní sítě
To povoleni forwardingu muzes nastavit systemove v /etc/sysctl.conf. Jen misto lomitek tam v ceste dej tecky (viz priklady pouziti v tom souboru).
Why make things difficult, when it is possible to make them cryptic... - Aksel Peter Jorgensen

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.