L'inoltro del traffico su Linux usando IPTABLES

IPTables permette di impostare facilmente regole di packet filtering / forwarding.

Quindi, per essere breve e semplice: assumere desideri inoltrare tutto il traffico proveniente alla tua macchina (192.168.0.1) sulla porta 80 a macchina2 (192.168.0.2) sulla porta 8080 quindi:

- Abilitare il port forwarding:

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

- A questo punto aggiungere le regole:

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

L'opzione-p tcp specifica che il protocollo è TCP (al contrario di UDP, ICMP per esempio).

L'opzione-d 192.168.0.1 flag specifica che i pacchetti era destinato a IP 192.168.0.1

I-dport 80 significa che il pacchetto era la porta 80 come destinazione

-J è l'obiettivo della norma in corso di esecuzione, NAT (network address translation). In più regole avanzate, si possono specificare una serie di regole predefinite iptables.

-Per specificare la volontà di dove questo pacchetto dovrebbe essere inoltrato, e su quale porta

Per quanto riguarda la seconda regola, si dice che i pacchetti in uscita per la seconda macchina dovrebbe essere mascherato. In altri termini, l'utente cerca di accedere alla macchina originale sulla porta 80 non avranno la sensazione che la sua richiesta è stata inoltrata. Il pacchetto verrà visualizzato come se provenisse da tale macchina, mentre in pratica, la richiesta è stata trasmessa al macchina2, e la risposta arrivò da quella stessa macchina.

Su un lato nota, assicurarsi di aggiungere queste regole di iptables in un file, assegnare ad esso il permesso di esecuzione (chmod + x / path / to / file), e aggiungerla al file / etc / rc.local in modo che venga eseguito ad ogni avvio del sistema. Altrimenti, le regole di cui sopra saranno fliushed ogni riavvio del sistema.

Lascia un commento

Il tuo commento