CentOS系统通过iptables简单实现端口转发

摘要: 在CentOS系统中,iptables虽常被作为防火墙进行安全管控,但它同样具备强大的 NAT(网络地址转换)功能,能够轻松实现端口转发。如何通过设置iptables规则实现端口转发呢?本文记录下在CentOS系统下通过iptables实现端口转发操作步骤,同时也给有需要的同学提供一丢丢帮助。操作步骤1、开启系统转...

在CentOS系统中,iptables虽常被作为防火墙进行安全管控,但它同样具备强大的 NAT(网络地址转换)功能,能够轻松实现端口转发。如何通过设置iptables规则实现端口转发呢?本文记录下在CentOS系统下通过iptables实现端口转发操作步骤,同时也给有需要的同学提供一丢丢帮助。

image.png

操作步骤

1、开启系统转发功能

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p /etc/sysctl.conf

2、安装iptables服务

yum install iptables-services -y

3、iptables服务启动,并设置开机自启

systemctl start iptables
systemctl enable iptables

4、配置iptables转发规则

添加 DNAT 规则(目标地址转换)

# 作用:将外部访问本机 <本机端口> 的流量,目标地址修改为 <目标服务器IP>:<目标服务器端口>

iptables -t nat -A PREROUTING -p tcp --dport <本机端口> -j DNAT --to-destination <目标服务器IP>:<目标服务器端口>

添加 SNAT 规则(源地址转换)

# 作用:将发往目标服务器的数据包源IP,修改为 <本机IP>,确保目标服务器能正确回包

iptables -t nat -A POSTROUTING -p tcp -d <目标服务器IP> --dport <目标服务器端口> -j SNAT --to-source <本机IP>

5、放行 FORWARD 链(允许流量转发)

iptables -A FORWARD -p tcp -d <目标服务器IP> --dport <目标服务器端口> -j ACCEPT

6、设置完规则后执行以下命令保存规则

service iptables save

7、测试端口转发

curl http://your-server-ip:8080

PS,如果需要在本机测试则需要在iptables中添加下如下命令

iptables -t nat -A OUTPUT -p tcp -d <本机IP> --dport <本机端口> -j DNAT --to-destination  <目标服务器IP>:<目标服务器端口>


© 除非注明,否则均为阿豪运维笔记原创文章,转载或复制请以超链接形式并注明出处

取消
微信二维码
微信二维码
支付宝二维码