linux-运维进阶-13 iptables与firewalld防火墙
iptables
iptables是centos6以及之前版本的默认防火墙工具,在centos7中默认防火墙工具已经替换为firewalld。
区别:
iptables防火墙的底层是netfiter
firewalld防火墙的底层是iptables
注意:iptables和firewalld是冲突的,同时只能使用一个防火墙
在centos7中开启iptables的使用
# 禁用firewalld防火墙
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl mask firewalld.service
Created symlink from /etc/systemd/system/firewalld.service to /dev/null.
# 安装iptables 服务
[root@localhost ~]# yum install iptables-services -y
# 开启iptables服务
[root@localhost ~]# systemctl start iptables
iptables命令的基本参数
参数 | 作用 |
---|---|
-P | 设置默认策略 |
-F | 清空规则链 |
-L | 查看规则链 |
-A | 在规则链的末尾加入新规则 |
-I num | 在规则链的头部加入新规则 |
-D num | 删除某一条规则 |
-s | 匹配来源地址IP/MASK,加叹号“!”表示除这个IP外 |
-d | 匹配目标地址 |
-i网卡名称 | 匹配从这块网卡流入的数据 |
-o网卡名称 | 匹配从这块网卡流出的数据 |
-p | 匹配协议,如TCP、UDP、ICMP |
–dport num | 匹配目标端口号 |
使用iptables
# 清除iptables中所有的规则
[root@localhost ~]# iptables -F
# 查看iptables防火墙中所有的规则
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@localhost ~]# iptables -P INPUT DROP
#默认INPUT全部允许
禁止所有人ping服务器
[root@localhost ~]# iptables -I INPUT -p icmp -j DROP
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP icmp -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# 这个是服务器接收到icmp的包之后丢弃
接下来在宰门物理机上验证能否ping通虚拟机:
C:\Users\zhong>ping 192.168.141.12
结果是ping不通
接下来咱们删掉丢失包的规则,也就是刚刚咱们创建的那条禁止ping的规则
[root@localhost ~]# iptables -D INPUT 1
[root@localhost ~]#
现在又可以ping通了
接下来咱们创建一条拒绝ping的规则
[root@localhost ~]# iptables -I INPUT -p icmp -j REJECT
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
REJECT icmp -- anywhere anywhere reject-with icmp-port-unreachable
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
tar