Strona 1 z 3
[+] Przekierowanie na wszystkich portach
: 02 stycznia 2011, 22:46
autor: Pablik
Witam.
Chodzi mi o przekierowanie, tzn. coś takiego:
Kod: Zaznacz cały
iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to 10.0.0.3:3389
tylko że nie na jednym porcie ale na wszystkich, wliczając także porty UDP.
Dziękuję.
Nie wiem czemu nikt mi nie pomógł. Może źle to wyjaśniłem. Więc od nowa.
Podsiadam serwer (10.0.0.1) na Debianie i chcę aby wszystkie połączenia, które są kierowane na ten serwer z zewnątrz były przekierowane na adres 10.0.0.3. Np. jak będę chciał się połączyć np zdalnym pulpitem albo jakąś inną aplikacją i wpiszę ip:
(ip zewnętrzne, publiczne) to chcę aby łączył się z hostem w sieci o adresie 10.0.0.3.
: 03 stycznia 2011, 15:07
autor: Pacek
Wg mnie tak to powinno wyglądać:
Kod: Zaznacz cały
iptables -t nat -A PREROUTING -s 0/0 -j DNAT --to 10.0.0.3
Proszę nie zapomnieć o włączeniu przekazwywania pakietów (forwardowania):
Ogólnie odradzam przekierowywanie wszystkich portów. Lepsze jest przekierowywać konkretne porty do konkretnego adresu IP a resztę portów domyślnie blokować
: 03 stycznia 2011, 17:11
autor: Pablik
Niestety nie działa i mi jeszcze się sieć zepsuła.
Tak wygląda mój firewall:
Kod: Zaznacz cały
# wlaczenie w kernelu forwardowania
echo 1 > /proc/sys/net/ipv4/ip_forward
# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X
# ustawienie domyslnej polityki
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
#iptables -P FORWARD Accept
iptables -P OUTPUT ACCEPT
# utrzymanie polaczen nawiazanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
# udostepniaie internetu w sieci lokalnej
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE
iptables -I FORWARD -s 10.0.0.3 -m mac --mac-source 00:30:4F:79:9A:03 -j ACCEPT
iptables -I FORWARD -s 10.0.0.4 -m mac --mac-source 70:5A:B6:2C:28:9B -j ACCEPT
iptables -I FORWARD -s 10.1.2.1 -m mac --mac-source 00:03:0D:84:30:6A -j ACCEPT #P102 Olga
iptables -I FORWARD -s 10.1.2.2 -m mac --mac-source 00:03:0D:82:82:41 -j ACCEPT #P102 Basia
iptables -I FORWARD -s 10.1.3.1 -m mac --mac-source 00:23:8B:CD:30:0F -j ACCEPT #P103 Ola
iptables -I FORWARD -s 10.1.4.1 -m mac --mac-source 00:1D:72:01:36:C6 -j ACCEPT #P104 Ada
iptables -I FORWARD -s 10.1.7.1 -m mac --mac-source 00:26:2D:7C:10:6D -j ACCEPT #P107 Zielonka
iptables -I FORWARD -s 10.1.8.1 -m mac --mac-source 00:0E:2E:8C:C7:5D -j ACCEPT #P108 Marta
Po dodaniu tej linijki sieć przestała działać?
Kod: Zaznacz cały
# wlaczenie w kernelu forwardowania
echo 1 > /proc/sys/net/ipv4/ip_forward
# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X
# ustawienie domyslnej polityki
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
#iptables -P FORWARD Accept
iptables -P OUTPUT ACCEPT
# utrzymanie polaczen nawiazanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -t nat -A PREROUTING -s 0/0 -j DNAT --to 10.0.0.3
# udostepniaie internetu w sieci lokalnej
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE
iptables -I FORWARD -s 10.0.0.3 -m mac --mac-source 00:30:4F:79:9A:03 -j ACCEPT
iptables -I FORWARD -s 10.0.0.4 -m mac --mac-source 70:5A:B6:2C:28:9B -j ACCEPT
iptables -I FORWARD -s 10.1.2.1 -m mac --mac-source 00:03:0D:84:30:6A -j ACCEPT #P102 Olga
iptables -I FORWARD -s 10.1.2.2 -m mac --mac-source 00:03:0D:82:82:41 -j ACCEPT #P102 Basia
iptables -I FORWARD -s 10.1.3.1 -m mac --mac-source 00:23:8B:CD:30:0F -j ACCEPT #P103 Ola
iptables -I FORWARD -s 10.1.4.1 -m mac --mac-source 00:1D:72:01:36:C6 -j ACCEPT #P104 Ada
iptables -I FORWARD -s 10.1.7.1 -m mac --mac-source 00:26:2D:7C:10:6D -j ACCEPT #P107 Zielonka
iptables -I FORWARD -s 10.1.8.1 -m mac --mac-source 00:0E:2E:8C:C7:5D -j ACCEPT #P108 Marta
: 04 stycznia 2011, 00:17
autor: rgl
A nie powinno być raczej
Kod: Zaznacz cały
iptables -t nat -I PREROUTING -d adres_ip_do przekierowania -j DNAT --to-destination adres_docelowy
Przecież chodzi o przekierowanie połączeń skierowanych do określonego IP na inny.
Nie mam jak tego sprawdzić - strzelam

PS.
Takie przekierowanie nie działa dla hostów w jednej sieci gdyż wtedy trzeba pomyśleć też o drodze powrotnej pakietów.
: 04 stycznia 2011, 00:30
autor: Pablik
Więc w moim przypadku to powinno wyglądać tak:
Kod: Zaznacz cały
iptables -t nat -I PREROUTING -d 10.0.0.1 -j DNAT --to-destination 10.0.0.3
: 04 stycznia 2011, 01:13
autor: rgl
Jeśli dobrze pamiętam zasady to tak - wszytko co przechodzi przez twój router na adres 10.10.0.1 zostanie przekierowane na adres 10.0.0.3
Warunek host z którego pochodzą pakiety nie może być w tej samej sieci co 10.0.0.3 gdyż wtedy 10.0.0.3 odpowie mu bezpośrednio a host spodziewa się odpowiedzi od 10.0.0.1 bo do niego wysyłał pakiety - w tym przypadku rozwiązaniem jest jeszcze SNAT:
http://www.netfilter.org/documentation/ ... TO-10.html
: 04 stycznia 2011, 09:28
autor: Pacek
No i przestała działać dla wszystkich, a zaczęła działać dla 10.0.0.3. Przecież chodziło Ci o przekierowanie wszystkich portów do jednej maszyny. Więc cały ruch zewsząd na wszystkich portach został przekierowany do 10.0.0.3. Przecież coś za coś. Ty chcesz przenieść ruch wszystkich portów do konkretnego adresu IP. Więc wszystko co wejdzie na dowolnym porcie będzie przekierowywane do 10.0.0.3.
Kod: Zaznacz cały
iptables -t nat -I PREROUTING -d 10.0.0.1 -j DNAT --to-destination 10.0.0.3
Faktycznie ten wpis wygląda lepiej jak mój, ponieważ zakłada, że wszystko co trafia z adresem docelowym 10.0.0.1 (serwera) przekierowywane jest na 10.0.0.3.
Takie "pytanie-zagadka" - czy jak ktoś od Ciebie z LANu np. zapyta się serwera DNS, który jest pod adresem 10.0.0.1, to czy dostanie od niego odpowiedź czy zostanie przekierowany na 10.0.0.3? Chętnie poznam odpowiedź bo takich eksperymentów akurat prowadzić nie będę

: 04 stycznia 2011, 16:33
autor: Bastian
Oczywiście zostanie przekierowany na 10.0.0.3. Taka regułka zakłada, że chcemy NATować dokładnie cały możliwy ruch. Takie transparentne proxy

: 04 stycznia 2011, 22:06
autor: Pablik
Dalej mi nie działa, nie wiem co robię źle? Do firewalla dodaje wpis, gdzie 83.19.28.220 to adres publiczny mojego serwera
Kod: Zaznacz cały
iptables -t nat -I PREROUTING -d 83.19.28.220 -j DNAT --to-destination 10.0.0.3
Po czym mój firewall wygląda tak:
Kod: Zaznacz cały
# wlaczenie w kernelu forwardowania
echo 1 > /proc/sys/net/ipv4/ip_forward
# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t mangle -F
iptables -t mangle -X
# ustawienie domyslnej polityki
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
#iptables -P FORWARD Accept
iptables -P OUTPUT ACCEPT
# utrzymanie polaczen nawiazanych
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -t nat -I PREROUTING -d 83.19.28.220 -j DNAT --to-destination 10.0.0.3 #Pryekierowanie na 10.0.0.3
# udostepniaie internetu w sieci lokalnej
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE
iptables -I FORWARD -s 10.0.0.3 -m mac --mac-source 00:1E:8C:78:49:C8 -j ACCEPT
iptables -I FORWARD -s 10.0.0.4 -m mac --mac-source 70:5A:B6:2C:28:9B -j ACCEPT
iptables -I FORWARD -s 10.1.2.1 -m mac --mac-source 00:03:0D:84:30:6A -j ACCEPT #P102 Olga
iptables -I FORWARD -s 10.1.2.2 -m mac --mac-source 00:03:0D:82:82:41 -j ACCEPT #P102 Basia
iptables -I FORWARD -s 10.1.3.1 -m mac --mac-source 00:26:F2:60:2B:37 -j ACCEPT #P103 Ola i Ania
iptables -I FORWARD -s 10.1.4.1 -m mac --mac-source 00:1D:72:01:36:C6 -j ACCEPT #P104 Ada
Następnie chce to przetestować pulpitem zdalnym loguje się z zewnątrz na adres 83.19.28.220 i nie działa.
W wewnątrz sieci jak loguje się na adres 10.0.0.3 to działa normalnie.
: 04 stycznia 2011, 22:34
autor: rgl
83.19.28.220 to jest twój rzeczywisty stały adres IP?
Próbowałeś się połączyć z sieci lokalnej czy z internetu?
Edycja:
Znowu nie doczytałem, napisałeś, że z zewnątrz.