外部訪問http://127.0.0.1(默認端口80)
實際訪問http://127.0.0.1:8080
//添加規則
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
//移除規則
iptables -t nat -L -nv --line-numbers
iptables -t nat -D PREROUTING 2
以下解釋——文心一言
這些命令是使用?
iptables
?在 Linux 系統中配置網絡數據包過濾和路由規則。iptables
?允許用戶配置內核級的網絡數據包過濾規則,這些規則可以基于源地址、目標地址、端口號、協議類型等多種條件。
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
-t nat
: 指定操作的是 NAT(網絡地址轉換)表。-A PREROUTING
: 向 PREROUTING 鏈添加一條規則。PREROUTING 鏈用于在數據包路由到其目標之前修改它們。-p tcp
: 這條規則僅適用于 TCP 協議的數據包。--dport 80
: 這條規則僅適用于目標端口為 80 的數據包。-j REDIRECT
: 對匹配的數據包執行 REDIRECT 動作。--to-port 8080
: 將數據包重定向到本地機器上的 8080 端口。這條命令的效果是:將所有進入系統的、目標端口為 80 的 TCP 數據包重定向到本地機器的 8080 端口。
iptables -t nat -L -nv --line-numbers
-t nat
: 指定查看的是 NAT 表。-L
: 列出規則。-nv
: 以數字格式和詳細模式列出規則。--line-numbers
: 顯示每條規則的行號。這條命令的效果是:列出 NAT 表中的所有規則,并顯示它們的行號。
iptables -t nat -D PREROUTING 2
-t nat
: 指定操作的是 NAT 表。-D PREROUTING
: 從 PREROUTING 鏈中刪除一條規則。2
: 刪除行號為 2 的規則。這條命令的效果是:從 PREROUTING 鏈中刪除行號為 2 的規則。假設你之前用第一條命令添加了一條規則,并且它現在是 PREROUTING 鏈中的第二條規則(你可以通過第二條命令查看),那么這條命令就會刪除那條規則。
注意:在刪除規則之前,最好先確認要刪除的規則的確是你想要刪除的,否則可能會意外地刪除其他有用的規則。