可能一直到现在,你都一直不怎么熟练在 Linux 上怎么开启 nat 和端口转发——毕竟这种操作可能也就在部署服务器的时候需要一次。但它的操作实在是太繁琐了,尤其是当我们使用了 ufw 来编辑 iptables 之后,更不能直接编辑 iptables 了,这下到底该如何是好呢?
要使用 ufw 来开启nat 伪装和端口转发,你可以先参考这篇文章Ubuntu 下更简单的防火墙 Uncomplicated Firewall了解一下 ufw 这个防火墙的前端,它其实给我们提供了更高级的操作,使用 ufw,可以避免去编辑 iptables、备份 iptables以及设置开机自动恢复 iptables,这样一来,配置就简单多了。
首先,我们先要
更改 ufw 默认转发策略
找到文件“/etc/default/ufw”
修改其中的内容:
1 |
DEFAULT_FORWARD_POLICY="ACCEPT" ←将 DROP 改为 ACCEPT |
开启转发
编辑“/etc/ufw/sysctl.conf”文件,将里边的转发选项去掉注释(如果你要开启 ipv6转发,那么就把 ipv6的注释也去掉)。
1 2 3 4 |
# Uncomment this to allow this host to route packets between interfaces net/ipv4/ip_forward=1 #net/ipv6/conf/default/forwarding=1 #net/ipv6/conf/all/forwarding=1 |
添加转发条目
最后,我们编辑“/etc/ufw/before.rules”文件来添加转发条目——语法和 iptables 语法完全相同,在文件里边内容末尾“COMMIT”后另起一行:
1 2 3 4 5 6 7 8 |
# NAT table rules,在相关位置插入 filter *nat :POSTROUTING ACCEPT [0:0] # Forward traffic through eth0 - Change to match you out-interface # 按照需求插入你的转发条目 -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE COMMIT |
开启端口转发
在上文写入的 *nat 块里边插入下边的命令即可:
1 2 3 4 5 6 |
# NAT table rules *nat :PREROUTING ACCEPT [0:0] # Port Forwardings 写你的端口转发条目即可 -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-destination 192.168.1.10 |
重启 ufw 使配置生效
1 |
ufw reload |
本文由 落格博客 原创撰写:落格博客 » 在 ufw 上开启 nat 伪装和端口转发
转载请保留出处和原文链接:https://www.logcg.com/archives/993.html
宝藏博主啊,wireguard的教程、iptables的教程和ufw的教程都让我受益匪浅,谢谢博主。
哈哈哈不敢当不敢当
文章不错支持一下吧