iptables实现网络防火墙功能,SNAT以及DNAT功能
admin
2023-03-21 00:01:34
0

iptables实现网络防火墙功能,SNAT以及DNAT功能

一、网络防火墙的实现

iptables实现网络防火墙功能,SNAT以及DNAT功能

	1.环境准备:
虚拟机vmware workstation 11
系统CentOS 7.3
               软件包安装:yum install httpd vsftpd tcpdump
2.前提条件
2.1各主机正确设置IP地址/子网掩码
 参考设置:
主机A 网卡ens33:10.0.0.110/24 内网客户端
主机B 网卡ens33:10.0.0.111/24 ens37:172.16.252.52/24 网关服务器
主机C 网卡ens33:172.16.254.52/24 外网服务端
2.2各主机正确设置网关地址
 参考设置:
主机A添加默认路由信息
route add default gw 10.0.0.111
主机C添加路由信息
route add -net 10.0.0.0/24 gw 172.16.252.52
3.推荐实现步骤
开启路由转发功能
在filter表中的FORWARD链中实现
4.要注意的问题
1.请求和响应均会经过FORWARD链,要注意规则的方向性
2.如果要启用conntrack机制,建议双方向的状态为ESTABLISHED的报文直接放行通过
3.配置规则时可使用tcpdump抓包分析数据报文
 

步骤:

1.主机A添加默认路由信息
    route add default gw 10.0.0.111 
    route -n
2.主机B开启核心转发功能
    sysctl -w net.ipv4.ip_forward=1
3.tcpdump抓包测试数据
    主机A:ping 172.16.254.52 
    主机B抓包:tcpdump -i ens33 -nn icmp
    测试结果:有10.0.0.110到172.16.254.52的请求报文信息,但没有回应报文信息
4.主机C使用tcpdump抓包测试数据
    tcpdump -i ens33 -nn icmp
    测试结果:有回应报文信息,但回应报文信息发往给其他主机,因此要设定网关信息
5.主机C添加路由信息
    route add -net 10.0.0.0/24 gw 172.16.252.52
    route -n
6.主机A ping请求测试
    ping 172.16.254.52
    测试结果:ping通
7.主机C启动httpd服务
        systemctl start httpd.service
8.主机A访问主机C的web页面
        curl http://172.16.254.52 #此时应该正常显式页面内容

在上面的基础上搭建网络防火墙

方式一:
9.拒绝所有转发服务
        iptables -A FORWARD -j REJECT
10.添加链规则:允许本地主机A访问外网主机C的80端口的服务
        iptables -I FORWARD -s 10.0.0.0/24 -p tcp --dport 80 -j ACCEPT
11.添加链规则:允许外网主机C的80端口http服务响应本机
        iptables -I FORWARD 2 -d 10.0.0.0/24 -p tcp --sport 80 -j ACCEPT
12.主机A测试能否访问主机C的web页面
        curl http://172.16.254.52#此时应该正常显式页面内容
方式二:
9.拒绝所有转发服务
        iptables -A FORWARD -j REJECT
10.放行所有建立连接的数据报文
        iptables -I FORWARD -m state --state ESTABLISHED -j ACCEPT
11.新建一条链规则允许本地主机A访问外网主机C
        iptables -I FORWARD 2 -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
12.主机A测试
        curl http://172.16.254.52 #此时应该正常显式页面内容
13.添加链规则:允许外网主机C访问本地主机A的80端口的http服务
        iptables -I FORWARD 3 -d 10.0.0.110 -p tcp --dport 80 -m state --state NEW -j ACCEPT 
14.主机C测试
        curl http://10.0.0.110 #此时应该正常显式页面内容
15.添加链规则:允许本机主机A开放更多端口的服务
        iptables -R FORWARD 3 -d 10.0.0.110 -p tcp -m multiport --dport 21:23,80 -m state --state NEW -j ACCEPT
16.加载FTP模块(两种方式)
        1.modprobe nf_conntrack_ftp
        2.vi /etc/sysconfig/iptables-config 
        IPTABLES_MODULES="nf_conntrack_ftp"
17.建立FTP访问链规则,开放FTP被动模式
        iptables -A FORWARD -d 10.0.0.110 -p tcp -m state --state RELATED -j ACCEPT
18.主机C测试
        lftp 10.0.0.110
        ssh root@10.0.0.110
        curl http://10.0.0.110 #此时测试应该都能正常获取信息

二、SNAT转发功能实现

iptables实现网络防火墙功能,SNAT以及DNAT功能

	前提条件
各主机正确设置IP地址/子网掩码
 参考设置:
主机A 网卡ens33:10.0.0.110/24 内网客户端
主机B 网卡ens33:10.0.0.111/24 ens37:172.16.252.52/24 网关服务器
主机C 网卡ens33:172.16.254.52/24 外网服务器
各主机正确设置网关地址
 参考设置:
主机A添加默认路由信息
route add default gw 10.0.0.111
主机C添加路由信息
route add -net 10.0.0.0/24 gw 172.16.252.52
推荐实现步骤
1. 开启网关主机的路由转发功能
主机B开启核心转发功能
sysctl -w net.ipv4.ip_forward=1
2. 添加使用SNAT策略的防火墙规则
规则示例
iptables -t nat -I POSTROUTING -j SNAT --to-source 172.16.252.52

3.验证SNAT结果
主机A curl http://172.16.254.52
主机C tail -f /var/log/httpd/access_log #查看到的ip地址应该为主机B的公网地址

三、DNAT转发功能的实现

iptables实现网络防火墙功能,SNAT以及DNAT功能


         前提条件
各主机正确设置IP地址/子网掩码
 参考设置:
主机A 网卡ens33:10.0.0.110/24 内网服务器
主机B 网卡ens33:10.0.0.111/24 ens37:172.16.252.52/24,网关服务器
主机C 网卡ens33:172.16.254.52/24 外网客户端
各主机正确设置网关地址
 参考设置:
主机A添加默认路由信息
route add default gw 10.0.0.111
主机C添加路由信息
route add -net 10.0.0.0/24 gw 172.16.252.52
推荐实现步骤
1. 开启网关主机的路由转发功能
主机B开启核心转发功能
sysctl -w net.ipv4.ip_forward=1
2. 添加使用SNAT策略的防火墙规则
规则示例
iptables -t nat -I PREROUTING  -d 172.16.252.52 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.110
3.验证DNAT结果(主机C访问主机B的公网地址显式的内应该为主机A的web内容)
主机C curl http://172.16.252.52
主机A tail -f /var/log/httpd/access_log #查看到的ip地址应该为外网主机C的地址
 

相关内容

热门资讯

县交警队长被举报工作日KTV饮... “公安干警有禁酒令要求,工作日不允许饮酒,也不能进入经营性娱乐场所。我认为,他违规违纪了。”一名不愿...
学习新语·政绩观|“愚公”治山... 统筹:郭洁宇 朱旭东设计:殷哲伦新华社新媒体中心新华社出品
请问瓷砖外墙做防水多少钱 已有2条回答 回复者:小休维 瓷砖外墙防水涂料60元一平方。外墙透明防水涂料无色、透明、涂覆...
旧房翻新可以直接贴壁纸吗? 不可以的。首先墙纸就不能贴在乳胶漆墙面上,因为乳胶漆的工艺、质量等都会影响到墙皮的附着力,所以在乳胶...
怎样翻新厨房瓷砖墙面?墙面瓷砖... 厨房理不管是哪一种的瓷砖,都可以在旧瓷砖上贴新的瓷砖。个别严重起鼓或者破坏的瓷砖需要革除,革除后用马...
无缝瓷砖真的可以做到无缝吗 无缝瓷砖之间的缝隙确实比较小,但是想要做到真正的无缝应该是不太可能的,据说这种无缝瓷砖每个瓷砖之间的...
瓷砖可以翻新吗 瓷砖可以翻新。瓷砖翻新的方法有多种,比如可以重新进行上色,用瓷漆在瓷砖上重新进行涂色和美化,在施工过...
庄瑞雄称沈伯洋当市长2天就能解... 海峡导报综合报道 台民意机构民进党团干事长庄瑞雄日前称,鼠患是城市治理的问题,蒋万安必须要展现市长的...
双层大巴撞上限高架,车头嵌入架... 5月9日,广东湛江一双层大巴撞上限高架,造成车身和限高架受损,无人受伤。相关视频显示,一辆白色双层大...
五一票房冠军是惊悚片,“下沉市... 【文/新潮观鱼】今年“五一”档,有一个有意思的现象:一部看起来没有“爆款相”,演员和导演都没有很大票...