Portál AbcLinuxu, 10. května 2025 10:02

Dotaz: iptables PREROUTING

30.1.2011 21:28 motorcb | skóre: 12
iptables PREROUTING
Přečteno: 976×
Odpovědět | Admin
Mám v síti, že počítače musí nejprve odsouhlasit pravidla chování se na síti a poté jim je zprovozněn internet. Defaultně pro celý subnet mám přesměrovaný port 80 na port serveru, kde jsou k osouhlasení pravidla chování se na síti.
iptables -t nat -I PREROUTING -i eth1 -p tcp -s 172.16.0.0/24 --dport 80 -j DNAT --to 172.16.0.1:80
Po odsouhlasení chci spustit příkaz, který přes iptables povolí komunikaci portu 80 do internetu a nebude jej přesměrovávat na server.

Nevedel by nekdo jak napsat prikaz pro iptables, který povolý komunikaci na port do internetu? Např. pro IP 172.16.0.100

Diky za rady a nakopnutí

Řešení dotazu:


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

Odpovědi

30.1.2011 23:15 NN
Rozbalit Rozbalit vše Re: iptables PREROUTING
Odpovědět | | Sbalit | Link | Blokovat | Admin
Myslim, ze by pred to stacilo predhodit:
iptables -A FORWARD -s 172.16.0.100 --destination-port 80 -j ACCEPT
NN
31.1.2011 09:30 toxLinuch
Rozbalit Rozbalit vše Re: iptables PREROUTING
Prez FORWARD to nepujde jelikoz PREROUTING v nat tabulce se spracovava pred FORWARD pravidly. Takze do PREROUTINGU dat pred stavajici pravidlo s presmerovanim
iptables -A PREROUTING -t nat -s 172.16.0.100 -p tcp --dport 80 -j RETURN
pripadne
iptables -t nat -I PREROUTING [cislo radku] -s 172.16.0.100 -p tcp --dport 80 -j RETURN
31.1.2011 12:38 NN
Rozbalit Rozbalit vše Re: iptables PREROUTING
To jo ale kdyz to pravidlo bude pred tim PREROUTINGEM tak to prece propadne nebo ne ? Ja myslel, ze se pravidla spracovavaji postupne..

NN
pavlix avatar 31.1.2011 20:14 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: iptables PREROUTING
Jen v rámci řetězů.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
31.1.2011 15:12 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: iptables PREROUTING
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vytvořte si nový chain, do kterého přesměrujte zkoumanou komunikaci (-i eth1 -p tcp -s 172.16.0.0/24 --dport 80). Přidejte do něj to pravidlo pro přesměrování (-j DNAT --to 172.16.0.1:80) a pak na začátek přidávejte pravidla pro odsouhlasené IP adresy s cílem RETURN. Zhruba takhle:
iptables -N odsouhlaseni
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 172.16.0.0/24 --dport 80 -j odsouhlaseni
#povoleni pro IP 172.16.0.100
iptables -I odsouhlaseni 0 -s 172.16.0.100 -j RETURN
Jendа avatar 31.1.2011 15:41 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: iptables PREROUTING
Odpovědět | | Sbalit | Link | Blokovat | Admin
-p tcp
A co když se protuneluje pře UDP? Nebo třeba přes lokální DNS server?
petka avatar 31.1.2011 16:40 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: iptables PREROUTING

Uz jsem resil , nastaveni nahravam z mysql , zapisuju do vlastniho kofiguraku a ctu timhle scriptem .

echo "Nahravam seznam presmerovanych adres..."
 let a=0;
 while read line ; do
 wan_port=`echo $line | awk '{print $1}'`;
 lan_ip=`echo $line | awk '{print $2}'`;
 lan_port=`echo $line | awk '{print $3}'`;
 $IPTABLES -A INPUT -i $WAN -p TCP -s 0/0 -d $WAN_IP --dport $wan_port -j ACCEPT;
 $IPTABLES -t nat -A PREROUTING -i $WAN -p TCP --dport $wan_port -j DNAT --to $lan_ip:$lan_port;
 $IPTABLES -A FORWARD -p TCP -i $WAN -d $lan_ip --dport $lan_port -j ACCEPT;
 let a=$a+1;
 done < $VIRTUAL_SERVERS ;
 echo "Celkem nahrano ($a) presmerovani."


Je to jen vytazek z celeho firewall scriptu .
Konfigurak asi nejak takhle .

8000    192.168.0.4    80
8080    192.168.0.4    8080
Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...

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.