iptables实现网络防火墙功能,SNAT以及DNAT功能
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,iptables实现网络防火墙功能,SNAT以及DNAT功能一、网络防火墙的实现 1.环境准备: 虚拟机vmware workstation 11 系统CentO
千家信息网最后更新 2025年01月24日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 -n2.主机B开启核心转发功能 sysctl -w net.ipv4.ip_forward=13.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 -n6.主机A ping请求测试 ping 172.16.254.52 测试结果:ping通7.主机C启动httpd服务 systemctl start httpd.service8.主机A访问主机C的web页面 curl http://172.16.254.52 #此时应该正常显式页面内容
在上面的基础上搭建网络防火墙
方式一:9.拒绝所有转发服务 iptables -A FORWARD -j REJECT10.添加链规则:允许本地主机A访问外网主机C的80端口的服务 iptables -I FORWARD -s 10.0.0.0/24 -p tcp --dport 80 -j ACCEPT11.添加链规则:允许外网主机C的80端口http服务响应本机 iptables -I FORWARD 2 -d 10.0.0.0/24 -p tcp --sport 80 -j ACCEPT12.主机A测试能否访问主机C的web页面 curl http://172.16.254.52#此时应该正常显式页面内容方式二:9.拒绝所有转发服务 iptables -A FORWARD -j REJECT10.放行所有建立连接的数据报文 iptables -I FORWARD -m state --state ESTABLISHED -j ACCEPT11.新建一条链规则允许本地主机A访问外网主机C iptables -I FORWARD 2 -s 10.0.0.0/24 -m state --state NEW -j ACCEPT12.主机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 ACCEPT16.加载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 ACCEPT18.主机C测试 lftp 10.0.0.110 ssh root@10.0.0.110 curl http://10.0.0.110 #此时测试应该都能正常获取信息
二、SNAT转发功能实现
前提条件
各主机正确设置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转发功能的实现
前提条件
各主机正确设置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的地址
主机
信息
服务
规则
地址
路由
测试
功能
网关
网卡
报文
页面
参考
防火墙
防火
内容
服务器
结果
数据
步骤
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浙江惠普服务器虚拟化安装服务器
武昌首义图书馆嘉鱼数据库
数据库sql版本怎么查
网络安全知识保密教育
提升网络安全基本技能
软件开发应用路径
dota2线下赛服务器
扬州网络安全配置
中国儿童用药数据库怎么登不上去
学习网络安全意识草稿
微信数据库损坏修复一直为0
阿里网络安全节目视频
福建统一软件开发服务应用
加强网络安全管理化
松江区工程软件开发大概费用
浪潮服务器bmc管理界面
四川友订单网络技术有限公司
云服务器限制delete请求
大学生网络技术创业计划书
企业软件开发优化建站
福建科技产业互联网发展
数据库技术基础 视频
反向代理和web服务器集群架构
程序数据库与上一个连接不同
java 写文件到服务器
技术线路 软件开发
一卡通数据库安全设计
数据库语句中查询相同数据
枣庄智慧养老软件开发哪儿好
备份数据库 拒绝访问5