在ubuntu 18.04服务器上使用iptables开启端口转发服务的方法
为了科学上网,在国外弄了一个服务器做代理,为了安全起见,用国内的服务器做了一个中转,这需要使用linux端口转发功能。
首先,先确认服务器是否已开启转发,运行:
sysctl net.ipv4.ip_forward
# 如果已经启动则显示
> net.ipv4.ip_forward = 1
# 如果没有启动则显示(请按照下面步骤进行开启)
> net.ipv4.ip_forward = 0
echo “net.ipv4.ip_forward = 1” >> /etc/sysctl.conf
sysctl -p
//设置 DNAT
iptables -t nat -A PREROUTING -p tcp –dport [本地端口号] -j DNAT –to-destination [目标IP:目标端口号]
//设置SNAT
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] –dport [目标端口号] -j SNAT –to-source [本地服务器IP]
经过这样的设置就可以了。但这样的iptables 记录在服务器重启后会丢失掉。我们使用iptables-save命令把这些设置保存的文件里
iptables-save > /etc/iptables/rules.v4
当服务器重启后,使用下面的命令恢复。
iptables-restore < /etc/iptables/rules.v4
这个过程看起来有点傻,我们需要iptables能够自动加载。安装iptables-persistent服务就可以了
apt-get install iptables-persistent
它会自动读取/etc/iptables/rules.v4这个文件里的配置。
阅读余下内容