Firewall放火墙的使用
1.查看当前防火墙运行状态:
firewall-cmd --state
systemctl start firewalld.service 开启防火墙
systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 彻底关闭防火墙,开机不启动
systemctl enable firewalld.service 开启防火墙,开机启动
2.列出当前防火墙的配置情况:
firewall-cmd --list-all
3.永久开放9090端口:
sudo firewall-cmd --permanent --zone = public --add-port= 9090 /tcp
sudo firewall-cmd --permanent --zone = public --add-port= 8888 /udp说明:permanent zone add-port= 8888 /tcp add-port= 88 -90/tcp
4.让firewall-cmd重新加载配置:
sudo firewall-cmd --reload
5.再次列一下当前防火墙配置看是否开放成功:
firewall-cmd --list-all
6.删除已开放的端口号:
sudo firewall-cmd --permanent --zone = public --remove-port= 8888 /udp
Iptables的使用
熟悉 iptables 框架:
1)iptables 的 4 个表(区分大小写):iptables 默认有 4 个表,nat 表(地址转换表)、filter 表(数据过滤表)、raw 表(状态跟踪表)、mangle 表(包标记表)。2)iptables 的 5 个链(区分大小写):INPUT 链(入站规则)OUTPUT 链(出站规则)FORWARD 链(转发规则)PREROUTING 链(路由前规则)POSTROUTING 链(路由后规则)
iptables 命令的基本使用方法:
1 )iptabels 语法格式:[ root@proxy ~] [ root@proxy ~] [ root@proxy ~] [ root@proxy ~] //注意事项与规律://可以不指定表,默认为 filter 表//可以不指定链,默认为对应表的所有链//如果没有找到匹配条件,则执行防火墙默认规则//选项/链名/目标操作用大写字母,其余都小写//目标操作:// ACCEPT:允许通过/放行// DROP:直接丢弃,不给出任何回应// REJECT:拒绝通过,必要时会给出提示// LOG:记录日志,然后传给下一条规则
iptables 命令的常用选项
添加规则 :-A 追加一天防火墙规则至链的末尾位-I 插入一条防火墙规则至链的开头
查看规则:-L 查看iptables所有规则-n 以数字形式显示地址、端口等信息--line-numbers 查看规则时,显示规则的行号
删除规则:-D 删除链内指定序号(或内容)的一条规则-F 清空所有的规则
默认规则:-P 为指定的链设置默认规则
iptables 命令的使用案例
创建规则的案例:[ root@proxy ~] //追加规则至 filter 表中的 INPUT 链的末尾,允许任何人使用 TCP 协议访问本机[ root@proxy ~] //插入规则至 filter 表中的 INPUT 链的开头,允许任何人使用 UDP 协议访问本机[ root@proxy ~]
//插入规则至 filter 表中的 INPUT 链的第 2 行,允许任何人使用 ICMP 协议访问本机
查看 iptables 防火墙规则:
[ root@proxy ~] target prot opt source destinationACCEPT udp -- 0.0 .0.0/0 0.0 .0.0/0ACCEPT icmp -- 0.0 .0.0/0 0.0 .0.0/0ACCEPT tcp -- 0.0 .0.0/0 0.0 .0.0/0[ root@proxy ~] num target prot opt source destination1 ACCEPT udp -- anywhere anywhere2 ACCEPT icmp -- anywhere anywhere3 ACCEPT tcp -- anywhere anywhere
删除规则,清空所有规则
[ root@proxy ~] [ root@proxy ~] [ root@proxy ~] [ root@proxy ~] [ root@proxy ~] [ root@proxy ~]
设置防火墙默认规则
[ root@proxy ~] [ root@proxy ~] Chain INPUT ( policy DROP)