一、隐含匹配
常见的隐含匹配条件:
1.端口匹配:–sport 源端口 –dport 目的端口
2.TCP 标记匹配:–tcp-flags 检查范围 被设置的标记
3.ICMP 类型匹配:–icmp-type ICMP 类型
常见的 icmp 类型
8 Echo request ———— 回显请求(Ping 请求)
0 Echo Reply ———— 回显应答(Ping 应答)
3 错误回显
获取帮助:iptables -p icmp -h
二、显氏匹配
常用的显示匹配条件:
1.多端口匹配:-m multiport –sports 源端口列表、-m multiport –dports 目的端口列表
2.IP 范围:-m iprange –src-range IP 范围
3.MAC 地址匹配:-m mac –mac-source MAC 地址、
4.状态匹配:-m state –state 连接状态
常见的连接状态:
NEW:新连接,与任何连接无关
ESTABLISHED:响应请求或已建立连接的
RELATED:与已连接有相关性的,如 FTP 数据连接
三、案例–基于 IP 和端口的防火墙控制
实验环境:
为网关、Web 服务器配置防火墙规则
需求描述:
1.为网站服务器编写入站规则
(1)允许接收响应本机 ping 测试请求的各种 ICMP 数据包
(2)允许访问本机中位于 80 端口的 Web 服务,禁止访问其他端口的 TCP 请求
(3)允许发往本机已建立连接或与已连接相关的各种 TCP 数据包
(4)禁止其他任何形式的入站访问数据
搭建实验环境,结果如下:
internet 用桥接网络模拟:ip 为 dhcp
internet 客户端网关需指向网关服务器的 internet 的 ip 地址
为网站服务器编写入站规则
允许接收响应本机 ping 测试请求的各种 ICMP 数据包
禁止其他任何形式的入站访问数据
内网服务器 ping 网关测试:
网关 ping 内网服务器测试:
允许访问本机中位于 80 端口的 Web 服务,禁止访问其他端口的 TCP 请求
允许发往本机以建立连接或与已有连接相关的各种 TCP 数据包
保存 iptables 设置
[root@web ~]# service iptables save
如果命令报错,则执行以下命令后重试
[root@web ~]# yum -y install iptables-services
[root@web ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ 确定 ]
测试
需要在网关服务器上开启路由转发,才能实现两个网段互通
[root@gw ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 //添加此行内容
[root@gw ~]# sysctl -p
内网 web 服务器安装 httpd 并启动
[root@web ~]# yum -y install httpd
[root@web ~]# vim /etc/httpd/conf/httpd.conf
42 Listen 192.168.100.100:80
[root@web ~]# systemctl restart httpd
[root@web ~]# netstat -utpln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.100.100:80 0.0.0.0:* LISTEN 8273/httpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6845/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 7016/master
tcp6 0 0 :::22 :::* LISTEN 6845/sshd
tcp6 0 0 ::1:25 :::* LISTEN 7016/master
udp 0 0 127.0.0.1:323 0.0.0.0:* 5949/chronyd
udp6 0 0 ::1:323 :::* 5949/chronyd
测试机安装测试工具
[root@internet ~]# yum -y install elinks
[root@internet ~]# elinks 192.168.100.100
2.为网关服务器编写转发规则
(1)允许局域网中的主机访问 Internet 中是 Web、FTP、DNS、邮件服务
(2)禁止局域网中的主机访问 web.qq.com、w.qq.com、im.qq.com 等网站,以防止通过 WebQQ 的方式进行在线聊天
允许局域网中的主机访问 Internet 中是 Web、FTP、DNS、邮件服务
禁止局域网中的主机访问 w.qq.com、im.qq.com 等网站
保存 iptables 规则设置
[root@gw ~]# service iptables save
如果命令报错,则执行以下命令后重试
[root@gw ~]# yum -y install iptables-services
[root@gw ~]# service iptables save