本文目录导读:
CentOS 设置 NAT

NAT 简介
网络地址转换(Network Address Translation,NAT)是一种将内部私有网络地址转换为外部公共网络地址的技术,在CentOS系统中,NAT常用于将内部网络中的设备通过路由器连接到外部网络,实现内部网络与外部网络的通信。
NAT 设置步骤
安装必要的软件包
确保您的CentOS系统已经安装了iptables和ip6tables软件包,这两个软件包是NAT功能的基础。
sudo yum install iptables iptables-services
启用和配置iptables服务
启用iptables服务,并设置开机自启。
sudo systemctl enable iptables sudo systemctl start iptables
设置NAT规则
以下是一个基本的NAT配置示例,它将所有进入的流量从内部网络(假设为192.168.1.0/24)转发到外部网络(假设为公网IP)。

# 清除现有的规则 sudo iptables -F # 设置默认策略 sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT # 允许来自内部网络的流量 sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT # 允许来自内部网络的流量通过NAT sudo iptables -A POSTROUTING -t nat -s 192.168.1.0/24 -o eth0 -j MASQUERADE # 允许来自外部网络的流量进入内部网络 sudo iptables -A INPUT -d 192.168.1.0/24 -j ACCEPT # 允许来自外部网络的流量进入NAT sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
重启iptables服务
保存规则并重启iptables服务。
sudo systemctl restart iptables
验证NAT配置
验证NAT配置是否成功,可以通过ping命令测试内部网络中的设备是否可以访问外部网络。
ping google.com
如果成功,则说明NAT配置正确。
FAQs
问题1:如何查看当前的iptables规则?
解答:使用以下命令查看当前的iptables规则。

sudo iptables -L
问题2:如何删除NAT规则?
解答:使用iptables -F清除所有规则,然后根据需要删除特定的规则,删除POSTROUTING中的MASQUERADE规则:
sudo iptables -t nat -D POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
