[+] Przekierowanie portów IPTABLES

Masz problemy z siecią bądź internetem? Zapytaj tu
pawelo
Posty: 31
Rejestracja: 21 stycznia 2009, 14:51
Lokalizacja: Bydgoszcz

[+] Przekierowanie portów IPTABLES

Post autor: pawelo »

Witam,
Mam taki układ sieci :

internet 3G -------- ppp0-DEBIAN-eth0-------------------switch------------komputery

Nie potrafię wykonać przekierowania ip.zew: port na ip.switch: port
Do usług na serwerze mogę dostać się z zewnątrz, nie działa tylko przekierowanie.
Próbowałem różnych reguł udostępnionych w sieci ale żaden nie działał, więc wróciłem do najprostrzego :

/etc/rc.local :

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

# ustawienie domyslnej polityki
iptables -P INPUT  ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT  ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A FORWARD -o lo -j 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 222.22.22.0/24 -j MASQUERADE

# przekierowanie portów
iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 6923 -j DNAT --to 222.22.22.201:23
route -n :

Kod: Zaznacz cały

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         0.0.0.0         0.0.0.0                 U     0      0        0 ppp0
10.64.64.64     0.0.0.0         255.255.255.255  UH    0      0        0 ppp0
222.22.22.0     0.0.0.0         255.255.255.0       U     0      0        0 eth0
ifconfig :

Kod: Zaznacz cały

eth0      Link encap:Ethernet  HWaddr b8:27:eb:e1:2c:d9  
          inet addr:222.22.22.22  Bcast:222.22.22.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7204 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8616 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:660421 (644.9 KiB)  TX bytes:6772999 (6.4 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1104 (1.0 KiB)  TX bytes:1104 (1.0 KiB)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:37.228.31.7  P-t-P:10.64.64.64  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:6622 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4947 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:6362525 (6.0 MiB)  TX bytes:501879 (490.1 KiB)
Proszę o podpowiedź,pozdrawiam
Awatar użytkownika
pawkrol
Moderator
Posty: 939
Rejestracja: 03 kwietnia 2011, 10:25

Post autor: pawkrol »

Do usług na serwerze mogę dostać się z zewnątrz, nie działa tylko przekierowanie.
Jak dostajesz się z zewnątrz do usług na serwerze za natem to DNAT działa. Więc nie bardzo wiem o co Ci chodzi.
pawelo
Posty: 31
Rejestracja: 21 stycznia 2009, 14:51
Lokalizacja: Bydgoszcz

Post autor: pawelo »

Na serwerze mam uruchomioną usługę sshd na interfejsie ppp0 i eth0 port 6922 - mogę się logować z internetu i lokalnie
Na swichu zarządzalnym nam uruchomioną usługę telnet na porcie 23 - mogę się logować tylko z sieci lokalnej, z internetu mam port 6923 zamknięty
Próbuję zrobić ip.zew: 6923 przekierować na ip.switcha: 23.

nmap :

Kod: Zaznacz cały

nmap 37.228.31.7 -p 6922,6923

Starting Nmap 6.40 ( http://nmap.org ) at 2015-02-09 10:47 CET
Nmap scan report for public-gprs620486.centertel.pl (37.228.31.7)
Host is up (0.0026s latency).
PORT     STATE  SERVICE
6922/tcp open   unknown
6923/tcp closed unknown

Awatar użytkownika
LordRuthwen
Moderator
Posty: 2324
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

A na switchu masz ustawioną bramę?
pawelo
Posty: 31
Rejestracja: 21 stycznia 2009, 14:51
Lokalizacja: Bydgoszcz

Post autor: pawelo »

IP switcha : 222.22.22.201
Maska : 255.255.255.0
Brama : 222.22.22.22

ping ze switcha :

Kod: Zaznacz cały

CCTV1#ping www.wp.pl

Translating "www.wp.pl"...domain server (255.255.255.255) [OK]

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 212.77.100.101, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 42/62/84 ms
Awatar użytkownika
pawkrol
Moderator
Posty: 939
Rejestracja: 03 kwietnia 2011, 10:25

Post autor: pawkrol »

A to spróbuj:
Usunąć z przekierowania

Kod: Zaznacz cały

-p tcp
Jak nie pomoże to wstawić dodatkowo snata

Kod: Zaznacz cały

iptables -t nat -A POSTROUTING -o eth0  -d 222.22.22.201 --dport 23 -j SNAT --to-source 222.22.22.22
pawelo
Posty: 31
Rejestracja: 21 stycznia 2009, 14:51
Lokalizacja: Bydgoszcz

Post autor: pawelo »

Usunięcie

Kod: Zaznacz cały

-p tcp
powoduje błąd przy uruchamianiu:

Kod: Zaznacz cały

iptables v1.4.14: unknown option "--dport"
Podobnie się dzieje przy dodaniu snata.
Awatar użytkownika
pawkrol
Moderator
Posty: 939
Rejestracja: 03 kwietnia 2011, 10:25

Post autor: pawkrol »

Fakt. Zrób osobne reguły odnośnie tcp i udp

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 6923 -j DNAT --to 222.22.22.201:23
iptables -t nat -A PREROUTING -p udp -i ppp0 --dport 6923 -j DNAT --to 222.22.22.201:23
Ewentualny SNAT

Kod: Zaznacz cały

iptables -t nat -A POSTROUTING -o eth0  -p tcp -m tcp -d 222.22.22.201 --dport 23 -j SNAT --to-source 222.22.22.22
iptables -t nat -A POSTROUTING -o eth0  -p udp -m udp -d 222.22.22.201 --dport 23 -j SNAT --to-source 222.22.22.22
pawelo
Posty: 31
Rejestracja: 21 stycznia 2009, 14:51
Lokalizacja: Bydgoszcz

Post autor: pawelo »

Dodałem zgodnie z powyższym i dalej to samo:

nmap z komputera PC podłączonego do switcha :

Kod: Zaznacz cały

nmap 222.22.22.201 -p 23

Starting Nmap 6.40 ( http://nmap.org ) at 2015-02-09 13:11 CET
Nmap scan report for 222.22.22.201
Host is up (0.0038s latency).
PORT   STATE SERVICE
23/tcp open  telnet
MAC Address: 00:1D:A2:AB:40:C0 (Cisco Systems)

Nmap done: 1 IP address (1 host up) scanned in 6.83 seconds
nmap ze swiata

Kod: Zaznacz cały

nmap 37.228.27.176 -p 6923

Starting Nmap 6.40 ( http://nmap.org ) at 2015-02-09 13:16 CET
Nmap scan report for public-gprs619631.centertel.pl (37.228.27.176)
Host is up (0.0024s latency).
PORT     STATE  SERVICE
6923/tcp closed unknown

Nmap done: 1 IP address (1 host up) scanned in 5.92 seconds
Dodam, że mam zmienne publiczne IP więc proszę nie zwracać uwagi na inny adres publiczny.
Awatar użytkownika
pawkrol
Moderator
Posty: 939
Rejestracja: 03 kwietnia 2011, 10:25

Post autor: pawkrol »

To w takim razie musisz włączyć sobie logowanie reguł w iptables i zobaczyć czy pakiet w ogóle wychodzi z firewalla.

Kod: Zaznacz cały

iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 6923 -j LOG --log-prefix "ipt: DNATtcp 6923 "  
iptables -t nat -A PREROUTING -p udp -i ppp0 --dport 6923 -j LOG --log-prefix "ipt: DNATudp 6923 " 
iptables -A FORWARD -p tcp -i ppp0 --dport 23 -j LOG --log-prefix "ipt: FRWtcp 6923 "
iptables -A FORWARD -p udp -i ppp0 --dport 23 -j LOG --log-prefix "ipt: FRWudp 6923 "
Reguły wstaw przed tymi, które dokonują translacji i forwardu
Wpisów szukaj w /var/log/syslog


Dodane:
Do usług na serwerze mogę dostać się z zewnątrz, nie działa tylko przekierowanie.
Czy masz na myśli usługi udostepnione na bramie? Bo jak tak, to może nie masz włączonego forwardu pakietów.

/etc/sysctl

Kod: Zaznacz cały

net.ipv4.ip_forward=1
ODPOWIEDZ