SMsoft – informatica e dintorni

varie su OSX, GNU/Linux e l'Open Source

Aggiungere una regola di PREROUTING o POSTROUTING al firewall apf

Leggendo il mio blog avrete notato che utilizzo spesso apf per la gestione del firewall su macchine GNU/Linux. Lo trovo molto comodo e ben fatto ed è possibile personalizzarlo con poco sforzo. Oggi voglio parlarvi di come impostare una regola personalizzata di PREROUTING (la stessa cosa si può fare con le regole di POSTROUTING).
Nella cartella dove lo script è installato /etc/apf si trovano due files denominati preroute.rules e postroute.rules che chiaramente servono per le regole di prerouting e postrouting. Se ad esempio volessimo aggiungere la regola di prerouting:

iptables -t nat -A PREROUTING -p tcp -d 10.109.7.100 -j REDIRECT

basterà aprire il file /etc/apf/preroute.rules e scrivere come ultima riga:

$IPT -t nat -A PREROUTING -p tcp -d 10.109.7.100 -j REDIRECT

Ora riavviate il apf e controllate che la nuova regola sia stata caricata con:

/etc/init.d/apf restart
iptables -L -t nat

Girare le richieste che vengono da un IP verso un altro IP con iptables

Segue un semplice script in bash che utilizza iptables per creare una sorta di “ponte” tra due macchine. Questo può servire se una delle due macchine non riesce a connettersi direttamente con la seconda, ma potrebbe utilizzare una terza macchina (quella in cui eseguiremo lo script) come “ponte” per  raggiungerla. Ipotizziamo che l’IP della prima sia 10.109.7.180, che l’IP della seconda sia 10.109.11.13 e che vogliamo giare le richieste provenienti dalla porta 8080 della prima macchina verso la porta 8080 della seconda macchina, lo script sarà:

#!/bin/sh
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.109.7.180/32 -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 8080 -i eth0 -j DNAT --to \
10.109.11.13:8080
iptables -A FORWARD -p tcp -d 10.109.11.13 --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 8080 -i eth0 -j ACCEPT

Page optimized by WP Minify WordPress Plugin