在企业或家庭网络中,常常需要让多台内网设备通过一台具有公网IP的服务器访问互联网。这时,网络地址转换(NAT)就派上了用场。本文将详细讲解如何在CentOS系统中配置NAT,即使你是Linux新手,也能轻松上手。
网络地址转换(Network Address Translation,简称NAT)是一种将私有IP地址转换为公网IP地址的技术。它允许多个内网设备共享一个公网IP访问外部网络,同时还能隐藏内部网络结构,提升安全性。
在开始配置前,请确保满足以下条件:
NAT的核心是IP转发功能。首先,我们需要在CentOS中启用它:
# 临时启用(重启后失效)echo 1 > /proc/sys/net/ipv4/ip_forward# 永久启用(推荐)sudo vim /etc/sysctl.conf# 在文件末尾添加以下行net.ipv4.ip_forward = 1# 然后执行以下命令使配置生效sudo sysctl -p
CentOS默认使用iptables(在CentOS 7及更早版本)或firewalld(CentOS 8+)来管理防火墙。这里我们以iptables为例,这也是最经典的iptables NAT设置方式。
假设你的外网接口是 eth0,内网接口是 eth2,内网网段为 192.168.10.0/24。
# 安装iptables-services(如果未安装)sudo yum install -y iptables-services# 启动并设置开机自启sudo systemctl start iptablessudo systemctl enable iptables# 清空现有规则(谨慎操作)sudo iptables -Fsudo iptables -t nat -F# 允许内网访问外网(FORWARD链)sudo iptables -A FORWARD -i eth2 -o eth0 -j ACCEPTsudo iptables -A FORWARD -i eth0 -o eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT# 配置SNAT(源地址转换)——关键步骤!sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE# 保存规则(CentOS 7)sudo service iptables save
上述命令中的 MASQUERADE 会自动将内网IP替换为外网接口的IP。如果你有固定公网IP,也可以使用 SNAT 指定具体IP:
sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source 203.0.113.10
1. 在内网的一台电脑上,设置网关为CentOS服务器的内网IP(如192.168.10.1)
2. 尝试ping一个外网地址,例如:ping 8.8.8.8
3. 如果能通,说明NAT配置成功!
firewall-cmd --permanent --zone=external --add-masquerade 实现类似功能通过本文的详细步骤,你应该已经掌握了在CentOS NAT配置的基本方法。NAT不仅是网络共享的基础,也是构建安全边界的重要手段。掌握这项技能,对运维和网络安全工作都大有裨益。
关键词回顾:CentOS NAT配置、网络地址转换教程、CentOS防火墙NAT、iptables NAT设置。
本文由主机测评网于2025-12-10发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025125599.html