安装配置iptables防火墙
1)安装iptables防火墙服务
[root@centos01 ~]# yum -y install iptables iptables-services
2)启动iptables服务设置开机自动启动
[root@centos01 ~]# systemctl start iptables.service
[root@centos01 ~]# systemctl enable iptables.service
3)拒绝ping命令入站
[root@centos01 ~]# iptables -t filter -I INPUT -p icmp -j DROP
4)删除拒绝ping命令入站
[root@centos01 ~]# iptables -t filter -D INPUT -p icmp -j DROP
查看防应用火墙规则
1)查看nat表中的规则
[root@centos01 ~]# iptables -t nat -L -n
2)查看所有表中链的规则
[root@centos01 ~]# iptables -L -n
3)清空防火墙中的默认规则
[root@centos01 ~]# iptables -F
4)保存防火墙规则
[root@centos01 ~]# service iptables save
5)设置OUTPUT连接默认拒绝所有流量
[root@centos01 ~]# iptables -P OUTPUT DROP
6)配置防火墙默认阻止转发数据
[root@centos01 ~]# iptables -P FORWARD DROP
7)允许防火墙转发TCP协议数据包
[root@centos01 ~]# iptables -t filter -I FORWARD -p tcp -j ACCEPT
8)查看防火墙规则显示规则编号
[root@centos01 ~]# iptables -L FORWARD --line-numbers
9)删除forward链中的第二条规则
[root@centos01 ~]# iptables -D FORWARD 2
10)清空mangle链中的所有规则
[root@centos01 ~]# iptables -t mangle -F
iptables防火墙条件匹配规则的应用
1)允许源主机访问目标任意主机的80端口
[root@centos01 ~]# iptables -I FORWARD -s 192.168.100.30 -p tcp --dport 80 -j ACCEPT 允许内主机访问外
[root@centos01 ~]# iptables -I FORWARD -d 192.168.100.30 -p tcp --sport 80 -j ACCEPT 允许外主机访问内
[root@centos01 ~]# iptables -I FORWARD -s 192.168.100.0/24 -p icmp -j ACCEPT
[root@centos01 ~]# iptables -I FORWARD -d 192.168.100.0/24 -p icmp -j ACCEPT
[root@centos01 ~]# iptables -A FORWARD -p tcp --sport 1:65535 -j ACCEPT
4)iptables防火墙本地主机阻止内外网ping,允许转发icmp数据包
[root@centos01 ~]# iptables -I INPUT -p icmp -j DROP 拒绝其他主机ping防火墙
[root@centos01 ~]# iptables -I FORWARD -p icmp -j ACCEPT 允许防火墙转发ping数据包
[root@centos01 ~]# iptables -I INPUT -i ens32 -s 192.168.100.30 -p icmp -j ACCEPT
[root@centos01 ~]# iptables -I FORWARD -s 192.168.100.0/24 -p udp --dport 53 -j ACCEPT
[root@centos01 ~]# iptables -I FORWARD -d 192.168.100.0/24 -p udp --sport 53 -j ACCEPT
安装DNS服务器
7)拒绝192.168.100.30主机访问防火墙的ftp服务
安装vsftpd服务
[root@centos01 ~]# yum -y install vsftpd
[root@centos01 ~]# systemctl start vsftpd
[root@centos01 ~]# echo "aaa" > /var/ftp/pub/1.txt
[root@centos01 ~]# iptables -A INPUT -s 192.168.100.30 -p tcp --dport 20:21 -j DROP
8)控制TCP连接的建立,不允许任意的源建立和重新建立TCP连接
[root@centos01 ~]# iptables -I INPUT -i ens32 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
9)控制ICMP协议,ICMP协议状态代码0 ICMP响应,3目标主机不可达,8发送ICMP请求
清空INPUT规则
[root@centos01 ~]# iptables -F INPUT
[root@centos01 ~]# iptables -A INPUT -p icmp --icmp-type 8 -j DROP 拒绝发送ICMP请求
[root@centos01 ~]# iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT 反馈客户端请求信息
[root@centos01 ~]# iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT 反馈目标主机不可达
[root@centos01 ~]# iptables -A INPUT -p icmp -j DROP 拒绝ICMP协议
显示匹配
1)匹配多个端口80,110,443,21,20
[root@centos01 ~]# iptables -I FORWARD -p TCP -m multiport --dport 80,110,443,21,20 -j ACCEPT
2)匹配IP地址192.168.100.10到192.168.100.30
[root@centos01 ~]# iptables -I FORWARD -p tcp -m iprange --src-range 192.168.100.10-192.168.100.30 -j ACCEPT
[root@centos01 ~]# iptables -I INPUT -m mac --mac-source 00:0c:29:53:58:41 -j DROP