CentOS 5.5搭建NAT环境

时间:2021-06-24 08:22:31

前提条件:

1、一台已经安装好CentOS 5.5操作系统的双网卡PC机;

2、设置好2个网卡的IP地址;在本实验中,做如下设置:

外网地址(eth1):172.16.40.10/255.255.248.0 (网关:172.16.40.254)

内网地址(eth0):192.168.0.254                              (根据实际环境需要定义)

3、在Linux机器上ping172.16.*.*网段和192.168.*.*网段都能正常ping通。

 

配置过程:

注:蓝色字符代表我们需要输入的命令或者参数

1、启用防火墙

[root@localhost /]# service iptables start      

2、启用转发功能

查看系统是否启用了转发功能,可以执行如下命令:

[root@localhost /]# cat /proc/sys/net/ipv4/ip_forward      

如果结果为1,代表已启用,0代表未启用。如果为0,则我们需要启用转发功能;

 

启用转发功能:

# 设置Linux内核支持ip数据包的转发(让Linux主机有router功能)

[root@localhost /]# echo "1" > /proc/sys/net/ipv4/ip_forward     

 

3、加载实现NAT功能必要的内核模块:

# 设置Linux内核支持ip数据包的转发(让Linux主机有router功能)

[root@localhost /]# modprobe ip_tables

[root@localhost /]# modprobe ip_nat_irc

[root@localhost /]# modprobe ip_conntrack

[root@localhost /]# modprobe ip_conntrack_irc          

如果需要允许外网用户访问内网的FTP服务器,需要加载以下内核模块

[root@localhost /]# modprobe ip_nat_ftp

[root@localhost /]# modprobe ip_conntrack_ftp          

 

4、配置NAT规则

# iptables中的规则表进行初始化:

# 刷新nat与链的所有规则

iptables -F

iptables -F -t nat

# 删除非默认的链和nat表的规则

iptables -X

iptables -X -t nat

# 把所有链的包及字节的计数器清空

iptables -Z

iptables -Z -t nat

 

# 设置三条链的默认规格:

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

 

# 重置NAT

iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -P OUTPUT ACCEPT

 

# 允许本地回还接口(即运行本机访问本机)

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT 

iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

 

# 允许已建立的或相关联的通行

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

 

# NAT转换

iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o eth1 -j MASQUERADE     

 

# FORWARD 点出规则(保证所有进入内网卡(eth0)的包都被 FORWARD ACCEPT

iptables -A FORWARD -i eth0 -j ACCEPT  

 

# 允许本机往外ping

iptables -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

 

# 允许SSH工具登陆

iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

 

防火墙保存、重启

[root@localhost /]# service iptables save

[root@localhost /]# service iptables restart     

 

5、开机重置部分配置

[root@localhost etc]# vi /etc/rc.local

在尾部增加:

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

echo "1024" > /proc/sys/net/ipv4/neigh/default/gc_thresh1     

echo "2048" > /proc/sys/net/ipv4/neigh/default/gc_thresh2

echo "4096" > /proc/sys/net/ipv4/neigh/default/gc_thresh3

这里echo的值根据我们实际情况进行调整,可以在服务器运行过程中通过输入arp -an|wc –l来确定你设置的参数,如果参数过小,则会导致新的链接无法通过NAT服务器。

 

NAT服务器已经搭建好了,192网段的设备网关地址设置为NAT服务器的内网地址(192.168.0.254)即可以通过NAT服务器正常访问外网了