资讯详情

配置DNAT发布内网服务器

?问题 本案例要求熟悉DNAT完成以下任务: 1)通过DNAT发布内网的策略Web服务器 2)通过DNAT发布内网的策略SSH服务器 3)通过DNAT发布内网的策略FTP服务器 ?方案 沿用练习二,采用三台RHEL6虚拟机svr5、gw1、pc如图-3所示,120。其中,虚拟机svr5作为局域网络的测试机,访问NAT网络(virbr0);虚拟机pc120作为Internet接入隔离网络的测试机(virbr1);虚拟机gw配置为网关/路由器eth0、eth12张网卡分别访问两个网络virbr0、virbr1。

图-3 内网测试机svr55还需要指向默认网关Linux网关的内网接口192.168.4.1: [root@svr5 ~]# route -n | grep UG 0.0.0.0 192.168.4.1 0.0.0.0 UG 0 0 0 eth0 ?步骤 要实现这种情况,需要遵循以下步骤。 第一步:通过DNAT发布内网的策略Web服务器 Web服务器的IP地址192.168.4.5为私有地址,不能直接从互联网访问;企业网站域名www.tedu.cn对外只能分析为公共地址(如网关)gw外网接口地址174.16.16.1)。 1)未启用DNAT在策略上,外网无法访问私网Web服务器 启用svr5的httpd服务: [root@svr5 ~]# service httpd restar … … [root@svr5 ~]# echo “Test Page 5.” > /var/www/html/index.html //部署测试网页 关闭gw1的httpd服务: [root@gw1 ~]# service httpd stop … … 从外网机pc120尝试访问http://174.16.16.1会失败: [root@pc120 ~]# elinks --dump http://174.16.16.1 ELinks: 拒绝连接 2)在网关gw1上添加DNAT规则 添加的规则应该是nat从外网接口出发eth1.目标地址为174.16.16.1.目标端口为TCP 在路由选择之前,数据包的目标是80个数据包IP将地址修改为实际内网Web服务器svr5的IP地址192.168.4.5: [root@gw1 ~]# service iptables stop //排除其他规则干扰 iptables:将链设置为政策 ACCEPT:nat [确定] iptables:清除防火墙规则: [确定] iptables:卸载模块: [确定]

[root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.4.5

[root@gw1 ~]# iptables -t nat -nL PREROUTING ///检查结果 Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp – 0.0.0.0/0 174.16.16.1 tcp dpt:80 to:192.168.4.5 [root@gw1 ~]# 3)再次从外网访问内网 从外网机pc120尝试访问http://174.16.16.1,可以看到svr5的Web页面: [root@pc120 ~]# elinks --dump http://174.16.16.1 Test Page 5. 检查内网机svr5的Web访问日志发现确实是外网机174.16.16.120在访问: [root@svr5 ~]# tail -1 /var/log/httpd/access_log 174.16.16.120 - - [19/May/2015:14:59:23 0800] “GET / HTTP/1.1” 200 13 “-” “ELinks/0.12pre5 (textmode; Linux; -)” 第二步:通过DNAT发布内网的策略SSH服务器 1)未启用DNAT在策略上,外网无法使用SSH私网远程管理Web服务器 如果网关gw1开启默认的SSH服务、且允许进站访问,那么当从外网机pc120远程SSH连接174.16.16.1点,登录是gw1的Shell环境: [root@pc120 ~]# ssh root@174.16.16.1 “hostname” //SSH执行远程主机上的命令 root@174.16.16.1’s password: //验证gw1的root口令 gw1.tedu.cn //连接gw1 [root@pc120 ~]# 2)在网关gw1上添加DNAT规则 从外网接口准备映射端口2345eth1进来、目标IP地址为174.16.16.1.目标端口为TCP 2345时,在路由选择之前,数据包的目标IP地址改为192.168.4.5.目标端口改为22: [root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p tcp --dport 2345 -j DNAT --to-destination 192.168.4.5:22

[root@gw1 ~]# iptables -t nat -nL PREROUTING Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp – 0.0.0.0/0 174.16.16.1 tcp dpt:80 to:192.168.4.5 DNAT tcp – 0.0.0.0/0 174.16.16.1 tcp dpt:2345 to:192.168.4.5:22 3)测试针对SSH服务的DNAT转换 从外网机pc120以SSH连接174.16.16.1的2345端口,实际登入的是内网机svr5: [root@pc120 ~]# ssh -p 2345 root@174.16.16.1 “hostname” root@174.16.16.1’s password: ///实际需要验证svr5的root口令 svr5.tedu.cn //实际访问是svr5 [root@pc120 ~]# 第三步:通过DNAT发布内网的策略FTP服务器 1)准备测试环境 在内网机svr5上开启vsftpd服务: [root@svr5 ~]# yum -y install vsftpd … … [root@svr5 ~]# service vsftpd restart … … [root@svr5 ~]# echo “FTP Test 5.” > /var/ftp/a.txt //部署FTP测试文件 关闭网关gw1上的vsftpd服务: [root@gw1 ~]# service vsftpd stop 关闭 vsftpd: [确定] 2)未启用DNAT在策略上,外网无法访问私网FTP服务器 尝试访问gw1的FTP因服务不可用而拒绝端口: [root@pc120 ~]# ftp 174.16.16.1 ftp: connect: 拒绝连接 ftp> quit [root@pc120 ~]# 尝试访问svr5的FTP由于目标地址为私网地址,端口无法达到: [root@pc120 ~]# ftp 192.168.4.5 ftp: connect: 网络不可达 ftp> quit [root@pc120 ~]# 3)在网关gw1上添加DNAT规则 添加的规则应该是nat从外网接口出发eth1.目标地址为174.16.16.1.目标端口为TCP 在路由选择之前,20或21的数据包将是数据包的目标IP将地址修改为实际内网FTP服务器svr5的IP地址192.168.4.5: [root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p tcp --dport 20:21 -j DNAT --to-destination 192.168.4.5

[root@gw1 ~]# iptables -t nat -nL PREROUTING Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp – 0.0.0.0/0 174.16.16.1 tcp dpt:80 to:192.168.4.5 DNAT tcp – 0.0.0.0/0 174.16.16.1 tcp dpt:2345 to:192.168.4.5:22 DNAT tcp – 0.0.0.0/0 174.16.16.1 tcp dpts:20:21 to:192.168.4.5 4)测试从外网访问内网的测试FTP服务 从外网机pc120访问174.16.16.1的FTP端口实际上连接到内网机svr5的vsftpd服务,经DNAT转换后,数据可以成功登录,但无法下载: [root@pc120 ~]# ftp 174.16.16.1 Connected to 174.16.16.1 (174.16.16.1). 220 (vsFTPd 2.2.2) Name (174.16.16.1:root): ftp 331 Please specify the password. Password: 230 Login successful. ///成功登录 Remote system type is UNIX. Using binary mode to transfer files. ftp> ls //获取目录列表失败 ftp: connect: 网络不可达 ftp> quit 221 Goodbye. [root@pc120 ~]# 4)在网关gw1上加载FTP相关模块 [root@gw1 ~]# modprobe nf_nat_ftp nf_conntrack_ftp //加载内核模块

[root@gw1 ~]# lsmod | grep nat_ftp //确认结果 nf_nat_ftp 3507 0 nf_conntrack_ftp 12913 1 nf_nat_ftp nf_nat 22759 2 nf_nat_ftp,iptable_nat nf_conntrack 79758 7 nf_nat_ftp,nf_conntrack_ftp,iptable_nat,nf_nat,nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state 5)再次测试从外网访问内网的FTP服务 从外网机pc120访问174.16.16.1的FTP端口,实际上连接到内网机svr5的vsftpd服务,可以成功登录,也可以下载数据: [root@pc120 ~]# ftp 174.16.16.1 Connected to 174.16.16.1 (174.16.16.1). 220 (vsFTPd 2.2.2) Name (174.16.16.1:root): ftp 331 Please specify the password. Password: 230 Login successful. //成功登入 Remote system type is UNIX. Using binary mode to transfer files. ftp> ls //获取目录列表成功 227 Entering Passive Mode (174,16,16,1,237,199). 150 Here comes the directory listing. drwxr-xr-x 3 14 0 4096 Apr 11 06:53 pub drwxr-xr-x 2 0 0 4096 Apr 27 02:13 rhel6 … … 226 Directory send OK. ftp> quit 221 Goodbye. [root@pc120 ~]#

标签: pc120光控开关继电器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司