案例2: 我们经常会遇到这种情况,需要两个不同网段的主机进行通讯,这个时候就需要NAt。通常情况防火墙、路由器等都可以做到该功能,这里用linux服务器代替。 经过代理,可以访问外部的服务器,但是我们的访问都是基于名称的,所以DNS是必不可少的。同时内部主机和外部主机得到的ip是不同的,这就需要开启bind中的view功能 网络拓扑图:

DNS配置
DNS的配置主要是编辑named.conf,不需要修改named.rfc1912.conf, 安装及DNS介绍请参照案例一
vim /var/named/chroot/etc/named.conf
另:开始前打开监控日志是个好习惯
tail -f /var/log/messages
named.conf具体配置如下:
1.添加ACL
电信 telecom 1.0
网通 netcom 2.0
2.修改允许查询的用户
3.VIEW
这个是关键,如果某用户访问域a.com,他属于telnecom,然后去取域文件a.com.zone查找,属于netcom就进去a.com.db查找。这样只要编辑区域文件,不同网段的用户就可以得到不同的地址啦
4.做完以上步骤可以测试一下语法是否正确:
如果没有出现任何提示说明语法正确,否则请继续修改
5.产生区域文件a.com.zon和a.com.db
cd /var/named/chroot/var/named/
可以看到以下几个文件
我们可以参照localhost.zone来写我们的区域文件
vim a.com.zone
telecom.a.com. 左后是要加点的,这个尤其要注意,加了点才表示一个完整的主机名
仿照上文,做出外部主机需要用到的区域文件a.com.db
vim a.com.db
6.检查语法错误:
正确的话,会有"ok“提示
7.最后,修改一下ip地址,确保服务开启,网络畅通,DNS服务器就完成了
防火墙配置
这个就比较简单了,只需要做NAT,开启LINUX的数据转发功能
1.DNAT
注意:iptables规则一定要写正确,不然你可能要废一番功夫删除它,删除语法:iptables -D chain rulenum [options]
2.转发
[root@localhost ~]# vim /etc/sysctl.conf
将第7行改为“1”
sysctl –p
3.因为要连接两个网段,这里linux是需要双网卡的
[root@localhost ~]# ifconfig eth0 192.168.1.254 up
[root@localhost ~]# ifconfig eth1 192.168.2.254 up
测试:
内网得到的地址:
外部得到的地址:
最后:
需要注意的小地方还是很多的,注意语法格式,写完后要及时检测,确保服务正常运行。开启日志检测,便于排错。保证网络的联通性,然后进行测试、验证。