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