3 581
contributi
(verificato, sintassi iptables non è cambiata; comunque in futuro sarà da scriverne un'altra per nftables probabilmente - iptables ancora disponibile, ma è raccomandata la migrazione a nftables) |
mNessun oggetto della modifica |
||
(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili | NO_REVISION | {{Versioni compatibili | NO_REVISION | wheezy | jessie | stretch | buster}} | ||
==Scenario== | ==Scenario== | ||
Abbiamo una macchina Debian che vogliamo usare come gateway per Internet, per poter fornire uno o più dei seguenti servizi: | Abbiamo una macchina Debian che vogliamo usare come gateway per Internet, per poter fornire uno o più dei seguenti servizi: | ||
Riga 56: | Riga 56: | ||
case "$1" in | case "$1" in | ||
start) | start) | ||
iptables -t nat -A POSTROUTING -d | iptables -t nat -A POSTROUTING ! -d ${LOCALNET} -j SNAT --to ${EXTERNIP} | ||
iptables -t nat -A PREROUTING --dst ${EXTERNIP} -p tcp --dport 22 -j DNAT --to-destination ${SSHHOST} | iptables -t nat -A PREROUTING --dst ${EXTERNIP} -p tcp --dport 22 -j DNAT --to-destination ${SSHHOST} | ||
echo 1 > /proc/sys/net/ipv4/conf/all/forwarding | echo 1 > /proc/sys/net/ipv4/conf/all/forwarding | ||
Riga 88: | Riga 88: | ||
Il primo comando iptables che troviamo nello script è: | Il primo comando iptables che troviamo nello script è: | ||
<pre> | <pre> | ||
iptables -t nat -A POSTROUTING -d | iptables -t nat -A POSTROUTING ! -d ${LOCALNET} -j SNAT --to ${EXTERNIP} | ||
</pre> | </pre> | ||
Il comando imposta il SNAT, cioè indirizza verso internet i pacchetti generati dalle macchine della LAN.<br> | Il comando imposta il SNAT, cioè indirizza verso internet i pacchetti generati dalle macchine della LAN.<br> | ||
Riga 94: | Riga 94: | ||
* <code>-t nat</code> specifica che il tipo di regola è network address translation (NAT), cioè IP masquerading | * <code>-t nat</code> specifica che il tipo di regola è network address translation (NAT), cioè IP masquerading | ||
* <code>-A POSTROUTING</code> appende una regola alla catena <code>POSTROUTING</code>: la regola sarà processata dopo tutte le altre regole esistenti | * <code>-A POSTROUTING</code> appende una regola alla catena <code>POSTROUTING</code>: la regola sarà processata dopo tutte le altre regole esistenti | ||
* <code>-d | * <code>! -d ${LOCALNET}</code> indica ogni pacchetto destinato a un indirizzo IP non facente parte di <code>${LOCALNET}</code> | ||
* <code>-j SNAT</code> indica di saltare alla regola <code>SNAT</code> | * <code>-j SNAT</code> indica di saltare alla regola <code>SNAT</code> | ||
* <code>--to ${EXTERNIP}</code> specifica che ogni pacchetto che lascia la rete deve avere indirizzo IP <code>${EXTERNIP}</code> | * <code>--to ${EXTERNIP}</code> specifica che ogni pacchetto che lascia la rete deve avere indirizzo IP <code>${EXTERNIP}</code> | ||
Riga 119: | Riga 119: | ||
{{Autori | {{Autori | ||
|Autore=[[Utente:Ferdybassi|Ferdybassi]] 17:35, 4 gen 2010 (CET) | |Autore=[[Utente:Ferdybassi|Ferdybassi]] 17:35, 4 gen 2010 (CET) | ||
|Verificata_da= | |||
:[[Utente:HAL 9000|HAL 9000]] ([[Discussioni utente:HAL 9000|discussioni]]) 13:08, 13 mar 2021 (UTC) | |||
|Numero_revisori=1 | |||
}} | }} | ||
[[Categoria:Firewall]] | [[Categoria:Firewall]] |
contributi