Linux—网络防火墙详解
程序员文章站
2022-05-18 12:25:02
一、防火墙基本知识 二、firewall防火墙 # 示例:开放3306 端口[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent# 参数解释1、firwall-cmd:是Linux提供的操作fir ......
一、防火墙基本知识
二、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.