User Tools

Site Tools


сервис_nat

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
сервис_nat [2021/10/20 09:52]
val [Debian/Ubuntu (iptables)]
сервис_nat [2024/04/23 14:00] (current)
val [nftables]
Line 8: Line 8:
 === Заполнение таблицы nat (eth1 - внешний интерфейс) === === Заполнение таблицы nat (eth1 - внешний интерфейс) ===
 <​code>​ <​code>​
-root@gate:~# apt install iptables+debian11# apt install iptables
  
 root@gate:​~#​ apt install conntrack root@gate:​~#​ apt install conntrack
Line 32: Line 32:
 </​code>​ </​code>​
  
-=== Сохранение состояния iptables ​===+=== Управление состоянием iptables === 
 + 
 +== Вариант 1 == 
 + 
 +== Сохранение состояния iptables ==
 <​code>​ <​code>​
 root@gate:​~#​ iptables-save > /​etc/​iptables.rules root@gate:​~#​ iptables-save > /​etc/​iptables.rules
 </​code>​ </​code>​
  
-=== Восстановление состояния iptables ​===+== Восстановление состояния iptables ==
 <​code>​ <​code>​
 root@gate:​~#​ iptables-restore < /​etc/​iptables.rules root@gate:​~#​ iptables-restore < /​etc/​iptables.rules
 </​code>​ </​code>​
  
-=== Восстановление состояния iptables при загрузке ​===+== Восстановление состояния iptables при загрузке ==
 <​code>​ <​code>​
 root@gate:​~#​ cat /​etc/​network/​interfaces root@gate:​~#​ cat /​etc/​network/​interfaces
Line 51: Line 55:
   pre-up iptables-restore < /​etc/​iptables.rules   pre-up iptables-restore < /​etc/​iptables.rules
 ... ...
 +</​code>​
 +
 +== Вариант 2 ==
 +<​code>​
 +# apt install iptables-persistent
 +
 +# netfilter-persistent save
 +</​code>​
 +
 +==== nftables ====
 +
 +  * [[https://​wiki.nftables.org/​wiki-nftables/​index.php/​Performing_Network_Address_Translation_(NAT)|Performing Network Address Translation (NAT)]]
 +  * https://​wiki.debian.org/​nftables
 +
 +<​code>​
 +gate### apt install nftables
 +
 +gate# man nft
 +
 +gate# nft add table nat
 +
 +gate# nft 'add chain nat postrouting { type nat hook postrouting priority srcnat ; }'
 +
 +gate# nft add rule nat postrouting ip saddr 192.168.X.0/​24 oif eth1 snat to 172.16.1.X
 +gate# nft add rule nat postrouting ip saddr 192.168.100+X.0/​24 oif eth1 snat to 172.16.1.X
 +
 +gate# nft list ruleset
 +
 +gate# nft flush ruleset
 +
 +gate# systemctl enable nftables.service --now
 +
 +gate# cat /​etc/​nftables.conf
 +</​code><​code>​
 +...
 +table ip nat {
 +        chain postrouting {
 +                type nat hook postrouting priority srcnat; policy accept;
 +                ip saddr 192.168.100+X.0/​24 oif "​eth1"​ snat to 172.16.1.X
 +        }
 +}
 +</​code><​code>​
 +gate# systemctl reload nftables.service
 </​code>​ </​code>​
  
сервис_nat.1634712741.txt.gz · Last modified: 2021/10/20 09:52 by val