可能一直到現在,你都一直不怎麼熟練在 Linux 上怎麼開啟 nat 和端口轉發——畢竟這種操作可能也就在部署服務器的時候需要一次。但它的操作實在是太繁瑣了,尤其是當我們使用了 ufw 來編輯 iptables 之後,更不能直接編輯 iptables 了,這下到底該如何是好呢?
要使用 ufw 來開啟nat 偽裝和端口轉發,你可以先參考這篇文章Ubuntu 下更簡單的防火牆 Uncomplicated Firewall了解一下 ufw 這個防火牆的前端,它其實給我們提供了更高級的操作,使用UFW,可以避免去編輯 iptables、備份 iptables以及設置開機自動恢復 iptables,這樣一來,配置就簡單多了。
首先,我們先要
更改 ufw 默認轉發策略
找到文件“/等/默認/ UFW“
修改其中的內容:
1 |
DEFAULT_FORWARD_POLICY="ACCEPT" ←将 DROP 改为 ACCEPT |
開啟轉發
編輯“/等/ 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 |
添加轉發條目
最後,我們編輯“/等/ 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的教程都讓我受益匪淺,謝謝博主。
哈哈哈不敢當不敢當
文章不錯支持一下吧