在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这个文件里的配置。

阅读余下内容
 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注


京ICP备12002735号