ubuntu 上配置端口转发
第一步:
sysctl net.ipv4.ip_forward=1 等同于 编辑/etc/sysctl.conf文件,将net.ipv4.ip_forward=1前面的#注释去掉,保存文件,然后执行sudo sysctl -p使其生效
第二步:
iptables -t nat -A PREROUTING -p tcp -d 192.168.88.100 --dport 8088 -j DNAT --to 39.99.188.214:32767 iptables -t nat -A POSTROUTING -p tcp -d 39.99.188.214 --dport 32767 -j MASQUERADE
内网访问地址(相当于内网网卡的访问地址):192.168.88.100
访问的外网地址:39.98.152.147:32767
iptables -t nat -A POSTROUTING -j MASQUERADE
执行了这句上不去网,但可以端口转发,没整明白。
查看状态
iptables -t nat -L -n
输入以下命令查看到每个规则chain的序列号。
iptables -L -n --line-number
根据序列号删除指定一条防火墙规则即可。
iptables -D INPUT 3 #删除INPUT的第三条已添加规则,这里3代表第几行规则
删除nat
iptables -t nat -D PREROUTING 1
iptables -t nat -D POSTROUTING 1
使用iptables-persistent实现重启后自动启动
- 首先安装iptables-persistent工具
sudo apt install iptables-persistent
- 每当设置了新的iptables规则后,使用如下命令保存规则即可,规则会根据ipv4和ipv6分别保存在了/etc/iptables/rules.v4和/etc/iptables/rules.v6文件中。
netfilter-persistent save
由于 iptables-persistent 在安装时已经把它作为一个服务设置为开机启动了,它在开机后会自动加载已经保存的规则,所以也就达到了永久保存的目的。
其实原理和第一种方法是类似的,只是设置起来会更简单一些。