实验考察知识点:
- iptables防火墙的规则配置
- DNS分离解析的配置
实验内容:
web服务器在内网中,提供http服务。
要求内网中的主机能够通过 www.yuji.com 访问该web服务。
外网的主机能够通过 www.yuji.com:8080 访问该web服务。
实验环境:
1、web服务器:192.168.137.10/24(VMnet1)
2、外网主机(win10客户机):12.0.0.200/24(VMnet2)
3、网关服务器:
ens33网卡地址:192.168.137.137/24(VMnet1)
ens36网卡地址:12.0.0.254/24(VMnet2)
实验拓扑:
实验步骤:
一、配置网关服务器
1、配置网卡。
增加一块网卡ens36。
将ens33的网络模式设置为VMnet1(仅主机模式),地址设置为192.168.137.137。
将ens36的网络模式设置为VMnet2(仅主机模式),地址设置为12.0.0.254。
之后重启网络服务。
2、关闭firewalld和selinux。开启路由转发功能。
[root@yuji ~]# systemctl stop firewalld [root@yuji ~]# setenforce 0 [root@yuji ~]# vim /etc/sysctl.conf net.ipv4.ip_forward = 1 //在文件中增加这一行,开启路由转发功能 [root@yuji ~]# sysctl -p //读取修改后的配置 net.ipv4.ip_forward = 1 复制代码
3、配置iptables策略。
1)设置SNAT服务,解析源地址。修改nat表中的POSTROUTING链
[root@yuji ~]# iptables -t nat -A POSTROUTING -s 192.168.137.10/24 -o ens36 -j SNAT --to 12.0.0.254 #-t nat:指定nat表 #-A POSTROUTING:指定POSTROUTING链 #-s 192.168.72.10/24:源地址网段 #-o ens36:出站网卡 #-j SNAT --to 12.0.0.254:使用SNAT服务,将源地址转换成公网IP地址。 复制代码
2)设置DNAT服务,解析目的地址。修改nat表中的PRETROUTING链。
[root@yuji ~]# iptables -t nat -A PREROUTING -i ens36 -d 12.0.0.254 -p tcp --dport 8080 -j DNAT --to 192.168.137.10:80 复制代码
4、配置DNS分离解析。
当内网解析ww.yuji.com时,将域名解析为:192.168.137.10。
当外网解析ww.yuji.com时,将域名解析为:12.0.0.254。
1)编辑主配置文件。
[root@yuji ~]# vim /etc/named.conf //编辑主配置文件 ----------------------------------- 12 options { 13 listen-on port 53 { any; }; //将监听地址修改为any 14 listen-on-v6 port 53 { ::1; }; 15 directory "/var/named"; 16 dump-file "/var/named/data/cache_dump.db"; 17 statistics-file "/var/named/data/named_stats.txt"; 18 memstatistics-file "/var/named/data/named_mem_stats.txt"; 19 allow-query { any; }; //将允许查询的地址修改为any 52 #zone "." IN { 53 # type hint; 54 # file "named.ca"; 55 #}; 复制代码
2)编辑区域配置文件。
[root@yuji ~]# vim /etc/named.rfc1912.zones //修改区域配置文件,要将view以外的zones都删除 ---------------------- view "lan" { match-clients {192.168.137.0/24;}; //声明内网网段 zone "yuji.com" IN { //声明域名 type master; file "yuji.com.zone.lan"; //声明内网解析时对应的地址库文件 }; zone "." IN { //用于解析根域名 type hint; file "named.ca"; }; }; view "wan" { match-clients {any;}; //声明外网地址 zone "yuji.com" IN { //声明域名 type master; file "yuji.com.zone.wan"; //声明外网解析时对应的地址库文件 }; }; 复制代码
3)配置内网解析地址库文件:
[root@yuji ~]# cd /var/named/ [root@yuji named]# cp -p named.localhost yuji.com.zone.lan [root@yuji named]# vim yuji.com.zone.lan $TTL 1D @ IN SOA @ admin.yuji.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ master A 192.168.137.137 www IN A 192.168.137.10 复制代码
4)配置外网解析地址库文件。之后启动named服务。
[root@yuji named]# cp -p named.localhost yuji.com.zone.wan [root@yuji named]# vim yuji.com.zone.wan $TTL 1D @ IN SOA @ admin.yuji.com. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 12.0.0.254 www IN A 12.0.0.254 [root@yuji named]# systemctl start named //启动named服务 复制代码
二、配置web服务器
1、关闭firewalld和selinux。
[root@web ~]# systemctl stop firewalld [root@web ~]# setenforce 0 复制代码
2、修改网卡配置。
将网络模式修改为VMnet1(仅主机模式)。
编辑网卡配置文件,将网卡地址设置为192.168.137.10,网关地址设置为192.168.137.137。
之后重启网络服务。
3、安装httpd服务,启动服务。
安装httpd软件包,写一个网页,启动httpd服务。本地验证一下能否打开该网页。
[root@web ~]# yum install -y httpd //安装httpd服务 [root@web ~]# cd /var/www/html //切换到httpd服务的根目录 [root@web html]# echo 'this is first web' > index.html //写一个测试网页 [root@web html]# systemctl start httpd //启动httpd服务 复制代码
三、配置外网客户端(win10客户机)
1、修改网卡配置。
将网络模式修改为VMnet2(仅主机模式)。
编辑网卡配置文件,IP地址:12.0.0.200,网关地址:12.0.0.254,DNS服务器地址:12.0.0.254。
2、验证使用 www.yuji.com:8080 访问web服务。
小贴士:
指定DNS服务器的两种方式:
方法一:修改 /etc/resolv.conf 文件。
[root@yuji ~]# vim /etc/resolv.conf nameserver 192.168.137.137 //将DNS服务器地址写入文件中 [root@yuji ~]# cat /etc/resolv.conf //查看文件内容 # Generated by NetworkManager nameserver 192.168.137.137 复制代码
方法二:修改网卡配置文件,之后重启网络服务。系统会自动将DNS服务器地址写入/etc/resolv.conf 文件中。
[root@yuji ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 ----------------- DNS1=192.168.137.137 //指定DNS服务器地址 [root@yuji ~]# systemctl restart network //重启网络服务 [root@yuji ~]# cat /etc/resolv.conf //查看文件内容 # Generated by NetworkManager nameserver 192.168.137.137