一、防火墙基本知识
二、firewall防火墙
# 安装firewalld [root@localhost ~]# apt-get install firewalld [root@localhost ~]# yum install firewalld
# 查看firewalld服务状态 [root@localhost ~]# systemctl status firewalld [root@localhost ~]# service firewalld status # 开启firewalld服务 [root@localhost ~]# systemctl start firewalld [root@localhost ~]# service firewalld start # 关闭firewalld服务 [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# service firewalld stop # 重启firewalld服务 [root@localhost ~]# systemctl restart firewalld [root@localhost ~]# service firewalld restart
# 查看防火墙状态 [root@localhost ~]# firewall-cmd --state # 查看防火墙版本 [root@localhost ~]# firewall-cmd --version # 查看防火墙规则(只显示/etc/firewalld/zones/public.xml中的防火墙策略) [root@localhost ~]# firewall-cmd --list-all # 查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略) [root@localhost ~]# firewall-cmd --list-all-zones # 重新加载配置文件(修改配置后要重新加载一下) [root@localhost ~]# firewall-cmd --reload
# 查询所有开放的端口 [root@localhost ~]# firewall-cmd --zone=public --list-ports # 查询端口是否开放 [root@localhost ~]# firewall-cmd --query-port=80/tcp [root@localhost ~]# firewall-cmd --zone=public --query-port=80/tcp # 开放80端口(增加80端口的权限) [root@localhost ~]# firewall-cmd --permanent --add-port=80/tcp [root@localhost ~]# firewall-cmd --permanent --add-port=80/tcp --zone=public # 关闭80端口 [root@localhost ~]# firewall-cmd --permanent --remove-port=80/tcp [root@localhost ~]# firewall-cmd --permanent --remove-port=80/tcp --zone=public
# 示例:开放3306 端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具。
2、--zone:作用域。
3、--permanent:表示设置为持久。永久生效。
4、--add-port=3306/tcp:标识添加的端口,格式为:端口/通讯协议。
三、iptables防火墙
1.基本操作
查看防火墙规则列表 [root@localhost ~]# iptables --list [root@localhost ~]# iptables --list-rules
启动防火墙 [root@localhost ~]# service iptables start 关闭防火墙 [root@localhost ~]# service iptables stop 重启防火墙 [root@localhost ~]# service iptables restart 查看防火墙启动状态 [root@localhost ~]# service iptables status 保存防火墙设置 [root@localhost ~]# service iptables save
# 永久关闭防火墙
[root@localhost ~]# chkconfig iptables off
# 永久关闭后重启
[root@localhost ~]# chkconfig iptables on
# 开启防火墙8088端口
[root@localhost ~]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 8088 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8088 -j ACCEPT
# 允许PING设置 [root@localhost ~]# iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT [root@localhost ~]# iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT # 禁止PING设置 [root@localhost ~]# iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
2.配置文件:/etc/sysconfig/iptables
*filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0]
# 开启防火墙端口80、443、3306 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 39000:40000 -j ACCEPT
# 允许PING设置 -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT COMMIT
3.
https://www.cnblogs.com/lemon-flm/p/7608029.html
https://www.cnblogs.com/cy-8593/p/9506758.html
https://www.jb51.net/article/156954.htm
https://www.cnblogs.com/zxg-blog/p/9835263.html
https://www.cnblogs.com/volcao/p/9521884.html
https://www.cnblogs.com/longhao/p/3993011.html