外部访问http://127.0.0.1(默认端口80)
//添加规则
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 链中的第二条规则(你可以通过第二条命令查看),那么这条命令就会删除那条规则。
注意:在删除规则之前,最好先确认要删除的规则的确是你想要删除的,否则可能会意外地删除其他有用的规则。