商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > CentOS下如何配置端口转发?

CentOS下如何配置端口转发?

  发布于2026-06-06 阅读(0)

扫一扫,手机访问

说到端口转发,其实很多场景下都会用到——比如你内网有台Web服务器,想通过公网IP加个端口映射出去;或者想在本机把某一个端口偷偷重定向到另一个端口,省去改配置的麻烦。下面就以CentOS为例,把整个操作步骤掰开了讲清楚。

开启IP转发

IP转发功能默认是关闭的,得先手动打开。这个开关控制着系统能不能把进入的数据包从一个接口转到另一个接口。

临时修改(重启后失效):

# echo 1 >/proc/sys/net/ipv4/ip_forward

执行完立刻生效,但系统重启后又会回到默认值0。

永久生效:

vi /etc/sysctl.conf
# 找到下面这行,把0改成1
net.ipv4.ip_forward = 1
# sysctl -p(立即生效)

值0表示禁止转发,改成1就是允许转发。这一步是后续所有转发规则的基础,漏了它后面怎么折腾都没用。

CentOS下如何配置端口转发?

配置端口转发

现在假设我们有这样一个需求:用户访问 172.16.4.247:728,我们希望它自动跳转到 172.16.4.97:80。说白了就是把一个公网IP的端口“偷”到内网另一台机器的服务上。

两条iptables规则搞定:

# iptables -t nat -A PREROUTING -p tcp -d 113.108.110.61 --dport 728 -j DNAT --to-destination 172.16.4.97:80
# iptables -t nat -A POSTROUTING -p tcp -s 172.16.4.97 --sport 80 -j SNAT --to-source 172.16.4.247
# service iptables sa ve(保存到 /etc/sysconfig/iptables)

当然,你也可以直接编辑iptables配置文件,效果一样:

-A PREROUTING -d 172.16.4.247/32 -p tcp -m tcp --dport 728 -j DNAT --to-destination 172.16.4.97:80
-A POSTROUTING -s 172.16.4.97/32 -p tcp -m tcp --sport 80 -j SNAT --to-source 172.16.4.247

最后别忘了把728端口放行,防火墙默认是拦着的:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 728 -j ACCEPT

规则都配好之后,重启防火墙使配置生效:

# service iptables restart

本机端口转发

如果只是在本机内部做端口重定向,那就简单多了。比如访问 http://ip:729 实际想看到 http://ip:80 的内容,一条REDIRECT规则就够:

[root@localhost sbin]# iptables -t nat -A PREROUTING -p tcp --dport 729 -j REDIRECT --to-ports 80
[root@localhost sbin]# service iptables sa ve
[root@localhost sbin]# service iptables restart

这种场景常用于临时测试、端口迁移、或者避免修改应用本身的监听端口。只需记住,REDIRECT只能在本地NAT表中生效,不能跨机器。

以上就是CentOS下最常见的两种端口转发配置方式,动手试一遍,比死记硬背命令管用得多。

本文转载于:https://www.jb51.net/os/RedHat/532388.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注