双网卡Linux机器配置NAT,让内网用户可以访问互联网

步骤一:安装系统  

安装Linux系统前,检查一下机器上网卡的MAC地址,确定一下哪块网卡是公网,哪块网卡是内网。确认好以后正常安装系统即可。当安装进度进行到配置网卡的界面时,选择“编辑”,然后根据之前确认好的网卡地址,为2块网卡手工配置上相应的IP、子网掩码。退出网卡的编辑界面后,在配置上网关、DNS即可。

友情提示:本步骤也可以省略,在步骤2中完成,另外如果将来机器上要安装VMWARE虚拟机,建议在安装的时候去掉“虚拟化”前面的对号

安装完成后重启进入系统时,请选择禁用防火墙。

步骤二:配置网卡  

系统安装好进入系统,点击任务栏上的“系统”-“管理”-“网络”,进入网络配置界面,如下图:

 

 

依次选中相应的网卡,然后双击进行编辑,检查并填写相应信息(每块网卡都配置上网关),配置好后的网卡如下图:

 

 

两块网卡的地址、掩码、网关都填写完成后,点击“文件”下的“保存”,然后依次“取消激活”,“激活网卡”即可。

步骤三:增加路由并开启IP转发 

  网卡配置完成并重新激活后,需要把路由信息和IP转发功能开启写入到启动文件中,这样每次系统启动后都可以自动执行。在root用户执行vi /etc/rc.d/rc.local,在最后面增加如下2行:

  route add -net xxx.xxx.xxx.xxx netmask yyy.yyy.yyy.yyy gw zzz.zzz.zzz.zzz
  echo 1 > /proc/sys/net/ipv4/ip_forward


友情提示:xxx用你自己的IP段替代,yyy用相应的255和0替代,zzz是你的某块网卡的网关。

 

例如我的其中一块网卡是内网的网卡,IP是170.224.9.100,内网的网关是170.224.9.1,我想让所有内网的访问都走这个网关,那我的路由就是如下格式:
  route add -net 170.224.0.0 netmask 255.255.0.0 gw 170.224.9.1(0对应0,数字对应255)

步骤四:配置IPTABLES  

以root用户执行如下命令:

modprobe iptable_nat 
    modprobe ip_conntrack 
    modprobe ip_conntrack_ftp 
    modprobe ip_nat_ftp
    iptables -F -t nat
    iptables -X -t nat
    iptables -F 
    iptables -X 
    iptables -t nat -A POSTROUTING -s  172.224.0.0/255.255.0.0 -o eth1 -j MASQUERADE
    注:eth1替换成你的公网网卡
    service iptables save     
    service iptables restart


  配置完成后,内网的机器把网关设置为该服务器的内网网卡的地址,就可以内外双修了!