IDC 内网机器 通 过 iptables SNAT上网的配置方法

有三台机器, A 、B 、C,其中A机器有外网和内网IP,B和C只有内网,我们配置B和C二台机器通过A机器来上外网。

假设A机器 外网IP为: 60.12.13.14  内网IP为: 192.168.0.1

B机器IP为: 192.168.0.2

C机器IP为: 192.168.0.3

我们在B和C 二台机器上面,配置网卡配置文件,把A机器作为网关加进去。

修改

  1. vi /etc/sysconfig/network-scripts/ifcfg-eth1

添加:

  1. GATEWAY=192.168.0.1
 然后重启二台机器网络
  1. /etc/init.d/network restart

修改二台机器的DNS配置文件,把A机器一样的DNS   加进来

  1. vi /etc/resolv.conf

添加:

  1. nameserver 202.99.96.68     #DNS根据自己服务器所在进行相应修改

保存即可。

我们在A机器上面配置 IPTABLES,添加SNAT

cd /usr/local/sbin/
vi iptables.sh

  1. #!/bin/sh
  2. iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 60.12.13.14
  3. iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
  4. iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
  5. /etc/init.d/iptables save

运行 脚本

  1. sh iptables.sh

这样iptables.sh脚本里面的内容就被保存到

  1. /etc/sysconfig/iptables

文件里面了。

在A机器上面,把IPTBALS 设置成开机启动就可以了。

  1. chkconfig --level 345 iptables on

在A机器上面,打开IP转发功能,修改sysctl.conf文件。

  1. vi /etc/sysctl.conf

  1. net.ipv4.ip_forward = 0

修改为:

  1. net.ipv4.ip_forward = 1

然后执行:

  1. sysctl -p

使之生效。

一切就绪之后,可以在B和C二台机器上面,访问外网,比如PING 外部IP和域名都通了。
方便通过YUM更新软件,下载软件啦。。

注:

我在操作过程当中,是先拿A和B二台机器操作的,当B可以访问外网之后,发现通过A机器连不了C机器了,后来一直以为C机器有问题,就没有做通过B机器去连C机器的尝试。  之后通知机房重启,发现还是没有办法通过A去连C,之后机房接显示器通过本地物理机也是没有办法A连C,但IDC工程师有尝试可以通过B来连C,而且都是通的,才发现是因为调整内网上网的事,没有加网关造成的。 通过B连上C之后,加上网关,重启网卡,A就可以连C了,而且C也可以上网了。折腾了一会,留个纪念。万事多尝试

 
上一篇:arguments.callee


下一篇:CS231n课程笔记翻译3:线性分类笔记