Przekierowanie ruchu na linux z użyciem iptables
IPTables pozwala w prosty sposób skonfigurować zasady filtrowania pakietów / spedycji.
Tak więc, aby go krótka i prosta: zakładamy chcesz przekazać wszelkie ruch przychodzący do komputera (192.168.0.1) na port 80 do machine2 (192.168.0.2) na port 8080 to:
- Włączenie przekierowania portów:
echo 1> / proc/sys/net/ipv4/ip_forward
- Teraz dodaj zasad:
iptables-t nat-A PREROUTING-p tcp-d 192.168.0.1-dport 80-j DNAT-to 192.168.0.2:8080
iptables-t nat-A POSTROUTING-d 192.168.0.2-j MASQUERADE
Flaga-p tcp określa, że protokół TCP (w przeciwieństwie do UDP, ICMP na przykład).
-D 192.168.0.1 flagi określa, że pakiety przeznaczone było IP 192.168.0.1
-Dport 80 oznacza, że pakiet miał port 80 jako docelowy
-J cel reguły są egzekwowane, NAT (Network Address Translation). W bardziej zaawansowanych zasad, można określić wstępnie łańcucha iptables zasad.
-To będzie określić, gdzie ten pakiet powinny być przekazane, i na którym porcie
Co do drugiej reguły, mówi, że pakiety wysyłane do drugiego urządzenia powinny być maskowany. Innymi słowy, gdy użytkownik próbuje uzyskać dostęp do oryginalnego urządzenia na porcie 80 nie będą miały poczucie, że jego wniosek został przekazany. Pakiet pojawi się tak, jakby przyszedł z hosta maskarady, podczas gdy w praktyce, wniosek został przekazany machine2, a odpowiedź wrócił z tej samej maszynie.
Na marginesie, należy dodać te iptables do pliku, nadać mu uprawnienia wykonywania (chmod + x / ścieżka / do / pliku) i dodać go do / etc / rc.local, to wykonywana jest na każdym uruchamiania systemu. W przeciwnym razie, powyższe zasady zostaną fliushed każdym razem ponownym uruchomieniu systemu.
