iptables - vymena portu a schovani skutecneho portu

Jan Kovář Jan-Kovar na meggle.cz
Čtvrtek Srpen 25 10:38:23 CEST 2005


Dobry den.
 
Kolega resi problem, kdy z nejakeho duvodu chce apache na specialnim portu a 
on ho chce mit z inetu viditelny na portu 80, ale zaroven ten specialni port 
schovat. Jinymi slovy, povol uzivatelum pristup http://server/, ale nepovol 
jim http://server:7001/, prestoze na tom 7001 web bezi.

iptables jsme nastavili takto (posilam jen relevantni radky)
 
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 80 -j DNAT --to $INET_IP:7001 # Menim port z 80 na 7001
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 7001 -j DNAT --to $INET_IP:9999 # Pokud nekdo chce rovnou na 7001 tak to menim na 9999
 
$IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 7001 -j ACCEPT  #WWW server on non-standard port 
$IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 9999 -j DROP # Tenhle je mozna zbytecny.
 
S vypnutym firewallem web funguje na portu 7001. Se zapnutym nefunguje 
na zadnem portu. Jen pro jistotu. Bez zapnuteho fw se pripojuje na http://server:7001/ 
pri vypnutem fw na http://server/
 
 
Zvlastni je, ze podobne nastaveni pro ssh nam funguje:
 
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 8001 -j DNAT --to $INET_IP:22  # hide SSH 
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 22 -j DNAT --to $INET_IP:9999  # hide SSH 
 
$IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 22 -j ACCEPT  #SSH server
$IPTABLES -A INPUT -i $INET_IFACE -p TCP --dport 9999 -j DROP 
 
Nejaky tip, co delame spatne?
 
Diky
 
 

Jan Kovář
IT koordinátor
______________________________________________
Meggle, s.r.o., Gotthardská 4/37, CZ-160 00 Praha 6
tel    +420 729 828 128
fax    +420 224 312 184
gsm   +420 724 112 882
jan-kovar na meggle.cz
www.meggle.cz



Další informace o konferenci Linux