Portál AbcLinuxu, 7. listopadu 2025 10:32
iptables -t nat -A POSTROUTING -o eth0 -s IPdovnitr -j SNAT --to IPven iptables -t nat -A PREROUTING -d IPven -j DNAT --to IPdovnitrIP jsou natvrdo, je vyřazen DHCP a je to zapojeno jen na eth0-eth2. Není to řešení, tím jen chci říct, že problém není nikde jinde, než v tom nastavení iptables na routeru. Takže otázka zní, jak nastavit v iptables NAT tak, aby dc++ jelo plně. Takhle pro úplnost vypadá script, když dc++ funguje, jak má, jak jsem psal:
#!/bin/bash iptables -F iptables -X iptables -Z iptables -t nat -F export LAN=eth2 export WAN=eth0 iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.168 -j SNAT --to 10.109.239.73 iptables -t nat -A PREROUTING -d 10.109.239.73 -j DNAT --to 192.168.0.168 echo 1 > /proc/sys/net/ipv4/ip_forward for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done /etc/init.d/iptables save /etc/init.d/iptables restarta v /etc/sysctl.conf je mj.:
net.ipv4.ip_forward = 1 net.ipv4.conf.default.rp_filter = 1 net.ipv4.ip_dynaddr = 1a např. takhle to mám, kdy jede hodně, ale ne vyhledávání a některá spojení v dc++:
#!/bin/bash
iptables -F
iptables -t nat -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
export LAN=eth2
export WAN=eth0
iptables -I INPUT 1 -i ${LAN} -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A INPUT -p UDP --dport bootps -i ! ${LAN} -j REJECT
iptables -A INPUT -p UDP --dport domain -i ! ${LAN} -j REJECT
iptables -A INPUT -p TCP --dport ssh -i ${WAN} -j ACCEPT
iptables -A INPUT -i ${WAN} -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I FORWARD -i ${LAN} -d 192.168.0.0/255.255.0.0 -j DROP
iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
/etc/init.d/iptables save
/etc/init.d/iptables restart
a /etc/sysctl.conf je stejný jako výše.
Na rozchození eth1 jsem se ještě ani nedostal.
Zkoušel jsem různé kombinace, ale nic se nedaří. Prostě jen potřebuju nakopnout, jak má vypadat NAT, aby všechny porty chodily jako při NAT 1:1, ale za podmínky přidělování přes DHCP a na více počítačů. Firewall si pak už nějak vyřeším.
iptables -t nat -A PREROUTING -p tcp --dport 6881:6889 -j DNAT --to IP_WIN
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.