使用SNAT、DNAT策略实现网关应用
实验环境:
某公司使用双网卡linux主机作为网关服务器,其中网卡eth1连接局域网,网卡eth0通过光纤接入internet,由于只注册了一个公网IP地址,要求合理配置网关策略,使用局域网内的PC可以通过共享的方式访问internet,并在internet中发布位于内网的网站服务器,作为公司电子商务的平台,如图所示。
拓扑:
需求描述:
? 使用局域网段192.168.100.0/24的PC以共享接入的方式访问internet
? 发布公司的网站服务器,当从internet中访问提供网页内容
? 允许从internet远程登录网站服务器,访问地址为192.168.1.106,端口为2222
实验步骤
1. 准备实验环境
1)正确配置各主机的网络参数(IP地址,子网掩码)
参考拓扑
2)网段192.168.100.0/24中的主机将默认网关设置192.168.100.151
3)在网站服务器192.168.100.152上添加测试帐号wzadm,去掉默认网关设置
2. 配置linux网关服务器
1)打开路由转发功能
2)添加SNAT策略,使局域网段192.168.100.0/24能够共享上网
3)添加DNAT策略,使用公网地址192.168.1.106,端口80,发布内网主机192.168.100.152中的web服务
4)添加DNAT策略,使用公网地址192.168.1.106,端口2222,发布内网主机192.168.100.152中的OpenSSH服务
3. 验证测试结果
1)在网站服务器192.168.100.152中,能够访问http://192.168.1.105,并且在查看主机192.168.1.105的web访问日志是,所记录的客户端IP地址是192.168.1.106
2)在internet测试机192.168.1.105中,能够访问http://192.168.1.106,浏览器中显示的是网站服务器192.168.100.152中的网页
3)在internet测试机192.168.1.105中,能够通过192.168.1.106的2222端口进行SSH远程登录,以网站服务器192.168.100.152中的wzadm用户进行验证,登录后查看当前的IP地址应该是192.168.100.152
总结:
1. SNAT策略仅在nat表的POSTROUTING链使用,可以修改数据包的源地址,如实现局域网共享上网
2. 当网关使用非固定的公网IP地址时,SNAT可以替换为地址伪装策略MASQUERADE
3. DNAT策略仅在nat表的PREROUTING、OUTPUT链使用,可以修改数据包的目的地址和目标端口,如在internet中发布企业内部网络中的应用服务器
4. Linux防火墙脚本通常由变量定义,模块加载,/proc调整,具体的规则设置等部分构成