Strona 1 z 1

[+] Przekierowanie portu na inny serwer

: 20 sierpnia 2010, 10:46
autor: _piotr
Nie wiem jak przekierować port 9999 na moim serwerze na port 80 innego serwera w Internecie (np. wp.pl). Próbowałem w następujący sposób ale nie działa :(

Kod: Zaznacz cały

# iptables -t nat -A PREROUTING -p tcp -d <adres_ip_mojego_serwera> --dport 9999 -j DNAT --to 212.77.100.101:80
# iptables -A FORWARD -p tcp --dport 9999 -j ACCEPT

: 20 sierpnia 2010, 11:45
autor: grzesiek
Ta druga reguła powinna dotyczyć łańcucha INPUT.

: 20 sierpnia 2010, 11:57
autor: _piotr
Zamieniłem na INPUT:

Kod: Zaznacz cały

# iptables -A INPUT -p tcp --dport 9999 -j ACCEPT
ale nadal nie działa

: 20 sierpnia 2010, 17:01
autor: grzesiek
Sama reguła jest poprawna, problem musi dotyczyć innej lub czego innego. Próbowałeś z wyłączoną zaporą, aby tylko przekierowanie było ustawione?

: 20 sierpnia 2010, 20:21
autor: Pacek
A spróbuj tak:

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 9999 -j DNAT --to-destination 212.77.100.101:80

: 23 sierpnia 2010, 16:20
autor: _piotr
OK. Rozwiązałem problem. Prawidłowa konfiguracja powinna wyglądać następująco:

1. Włączenie routingu

Kod: Zaznacz cały

# echo 1 > /proc/sys/net/ipv4/ip_forward
2. Ustawienie reguł iptables

Kod: Zaznacz cały

# iptables -t nat -A PREROUTING -p tcp --dport 9999 -j DNAT --to 212.77.100.101:80
# iptables -t nat -A POSTROUTING -p tcp -d 212.77.100.101 --dport 80 -j MASQUERADE
Bez tej drugiej reguły pakiety nie będą odsyłane do klienta.

: 23 sierpnia 2010, 18:54
autor: grzesiek
Hehe, no tak, najprostsza rzecz :)