Trafikken viderestilling på Linux ved hjælp af iptables

Iptables kan du nemt setup regler for pakkefiltrering / videresendelse.

Så for at holde det kort og enkelt: forudsætter, at du vil videresende enhver trafik, der kommer til din maskine (192.168.0.1) på port 80 til machine2 (192.168.0.2) på port 8080 så:

- Aktiver port forwarding:

echo 1> / proc/sys/net/ipv4/ip_forward

- Nu tilføje regler:

iptables-t nat-A PREROUTING-p tcp-d 192.168.0.1-dport 80-j DNAT-til 192.168.0.2:8080

iptables-t nat-A POSTROUTING-d 192.168.0.2-j maskerade

The-p tcp flag angiver, at protokollen er TCP (i modsætning til UDP, ICMP for eksempel).

The-d 192.168.0.1 flag angiver, at pakkerne var bestemt til IP 192.168.0.1

The-dport 80 betyder, at pakken var port 80 som destination

-J er målet for reglen bliver håndhævet, NAT (Network Address Translation). I mere avancerede regler, kan man angive en foruddefineret iptables kæde af regler.

-At ville specificere hvor denne pakke skal sendes, og på hvilken port

Hvad angår den anden regel siger, at udgående pakker til den anden maskine skal være forklædte. Med andre ord vil brugeren forsøger at få adgang til den oprindelige maskine på port 80 ikke har en fornemmelse af, at hans anmodning blev videresendt. Pakken vil vise sig som om den kom fra forklædt værten, mens det i praksis, blev anmodningen sendt til machine2, og svaret kom tilbage fra den samme maskine.

På en side bemærkning, så sørg for at tilføje disse iptables regler til en fil, giv den en henrettelse tilladelse (chmod + x / sti / til / fil), og føje det til / etc / rc.local, så den udføres på alle systemet boot. Ellers vil ovenstående bestemmelser efter fliushed hver gang dit system er genstartet.

Efterlad en kommentar

Din kommentar