欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux—网络防火墙详解

程序员文章站 2023-01-27 18:10:39
一、防火墙基本知识 二、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.