【Linux】端口映射

外部访问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 允许用户配置内核级的网络数据包过滤规则,这些规则可以基于源地址、目标地址、端口号、协议类型等多种条件。

  1. 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 端口。

  1. iptables -t nat -L -nv --line-numbers

    • -t nat: 指定查看的是 NAT 表。
    • -L: 列出规则。
    • -nv: 以数字格式和详细模式列出规则。
    • --line-numbers: 显示每条规则的行号。

这条命令的效果是:列出 NAT 表中的所有规则,并显示它们的行号。

  1. iptables -t nat -D PREROUTING 2

    • -t nat: 指定操作的是 NAT 表。
    • -D PREROUTING: 从 PREROUTING 链中删除一条规则。
    • 2: 删除行号为 2 的规则。

这条命令的效果是:从 PREROUTING 链中删除行号为 2 的规则。假设你之前用第一条命令添加了一条规则,并且它现在是 PREROUTING 链中的第二条规则(你可以通过第二条命令查看),那么这条命令就会删除那条规则。

注意:在删除规则之前,最好先确认要删除的规则的确是你想要删除的,否则可能会意外地删除其他有用的规则。

相关推荐
一个有温度的技术博主8 分钟前
网安实验系列七:域名收集
linux·运维·服务器
我爱学习好爱好爱12 分钟前
Ansible 环境搭建
linux·运维·ansible
野犬寒鸦28 分钟前
Redis热点key问题解析与实战解决方案(附大厂实际方案讲解)
服务器·数据库·redis·后端·缓存·bootstrap
人工智能训练1 小时前
从 1.1.3 到 1.13.2!Ubuntu 24.04 上 Dify 升级保姆级教程(零数据丢失 + 一键迁移)
linux·运维·人工智能·windows·ubuntu·dify
lifejump1 小时前
双冗余链路实现(2/2期)
网络
我要成为嵌入式大佬1 小时前
正点原子MP157--问题详解--四(关于根文件系统驱动模块指令的注意事项)
linux·运维·服务器
feng68_1 小时前
Redis架构实践
linux·运维·redis·架构·bootstrap
欧云服务器1 小时前
宝塔计划任务怎么自动删除多少个以外的文件?
linux·运维·服务器
F1FJJ1 小时前
Shield CLI PostgreSQL 插件现已上架 VS Code 扩展市场
网络·vscode·网络协议·postgresql·开源软件
XXOOXRT2 小时前
零基础掌握Linux常用命令
linux·运维·服务器