这就是我使用的,始终可以正常工作。各种教程的组合。在Ubuntu 16.04LTS上也进行了测试。
步骤A-确保已安装ufw
sudo apt-get install ufw
步骤B-配置您的网络接口。
sudo nano /etc/network/interfaces
将interfaces文件配置为如下所示:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The WAN primary network interface
iface eth0 inet static
address 182.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
#LAN side interface
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
address 192.168.0.1
通过从nano或您喜欢的任何其他编辑器中选择CTRL-X来保存文件。
步骤C-允许IP转发。设置转发。编辑文件/etc/sysctl.conf
sudo nano /etc/sysctl.conf
删除此行上的注释# net.ipv4.ip_forward=1
以使其成为“ net.ipv4.ip_forward=1
保存更改”,然后移至下一步。
步骤D-伪装/转发规则
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
坚持iptables的变化
sudo su
sudo iptables-save > /etc/iptables.rules
sudo nano /etc/network/if-pre-up.d/iptables
输入此内容:
#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0
保存更改,然后编辑/创建下一个iptables文件
sudo nano /etc/network/if-post-down.d/iptables
输入此内容:
#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
iptables-restore < /etc/iptables.rules
fi
exit 0
保存更改。使两个文件都可执行
sudo chmod +x /etc/network/if-post-down.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables
步骤E-使用ufw配置完成
sudo nano /etc/default/ufw
更改参数转发策略以接受
DEFAULT_FORWARD_POLICY="ACCEPT"
保存更改。
我的SSH在端口49870上,因此我也允许ufw接受该端口上的连接:
sudo ufw allow 49870
步骤F-不要忘记启用ufw。
sudo ufw enable
在此阶段,只需重新启动系统即可。然后,所有LAN设备都可以将其用作主网关。附带一提,ufw非常方便地管理防火墙设置。