iptables、firewalld、Semanage防火墙简易操作手册

firewall防火墙

1、查看firewall服务状态

systemctl status firewalld

出现Active: active (running)切高亮显示则表示是启动状态。

出现 Active: inactive (dead)灰色表示停止,看单词也行。

2、开启、重启、关闭、firewalld.service服务

开启
systemctl  start firewalld
重启
systemctl  restart firewalld
关闭
systemctl  stop firewalld

3、查看防火墙规则

firewall-cmd --list-all 

4、查询、开放、关闭端口

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

参数解释

1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、–permanent:表示设置为持久;
3、–add-port:标识添加的端口;

iptables防火墙

规则判断顺序

从上至下依次为:第一条规则,第二条规则……
从第一条开始一条条往下,遇到对应的规则就执行,ACCEPT与DROP两种策略将直接执行并退出,不会继续往下

特别强调(policy ACCEPT)可以理解成默认值,如果没有手动配置DROP策略,说明所有端口默认开放,如下图所示,说明所有端口默认开放

基本操作

# 增加开放的端口
iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
# 查看已开放的端口策略
iptables -L -n --line-numbers
# 删除指定端口策略,序号,从上往下序号依次为:1,2,3,4……
iptables -D INPUT 1
# 修改默认规则为拒绝
iptables -P INPUT DROP

'仅允许某些服务器可以访问对应端口'
# 先关闭所有的8080端口
iptables -A INPUT -p tcp --dport 8080 -j DROP 
# 仅开启10.0.0.112服务器允许访问8080端口
iptables -A INPUT -s 10.0.0.112 -p tcp --dport 8080 -j ACCEPT
# 开启ip段211.123.16.123/24允许访问8080端口
iptables -A INPUT -s 211.123.16.123/24 -p tcp --dport 8080 -j ACCEPT

持久化配置

iptables防火墙配置重启服务器后会丢失,需要进行持久化配置,以下提供Ubuntu的配置方法:通过安装iptables-persistent来实现

# 安装iptables-persistent
sudo apt install iptables-persistent
# 在安装过程中,系统会要求您保存当前/现有的 iptables 规则。这里直接选择yes
# 它将分别为 IPv4 和 IPv6创建现有的 iptables 规则并将其保存到/etc/iptables/rules.v4和/etc/iptables/rules.v6
# 保存ipv4
sudo iptables-save -f /etc/iptables/rules.v4
# 规则可以恢复到上次保存它们时的状态
sudo netfilter-persistent reload

注意:无论何时更改iptables的规则,都应该使用iptables-save命令将其保存到文件中,以便在重新启动后使更改保持不变。

Semanage

Semanage是用于配置SELinux策略某些元素而无需修改或重新编译策略源的工具。 这包括将Linux用户名映射到SELinux用户身份以及对象(如网络端口,接口和主机)的安全上下文映射。

开启与查看selinux

# 开启
[root@localhost ~]# sed -i '/^SELINUX/s/disabled/enforcing/g' /etc/selinux/config
# 然后重启一下操作系统
[root@localhost ~]# reboot
# 重启完成之后检查一下是否是enforcing模式
[root@localhost ~]# getenforce 
Enforcing

常用参数

port: 管理定义的网络端口类型
fcontext: 管理定义的文件上下文
-l: 列出所有记录
-a: 添加记录
-m: 修改记录
-d: 删除记录
-t: 添加的类型
-p: 指定添加的端口是tcp或udp协议的,port子命令下使用
-e: 目标路径参考原路径的上下文类型,fcontext子命令下使用

常用命令

# 列出所有端口
[root@localhost ~]# semanage port -l

# 列出指定的端口类型的端口
[root@localhost ~]# semanage port -l|grep -w http_port_t

# 添加新端口8888
[root@localhost ~]# semanage port -a -t http_port_t -p tcp 8888

# 查看新添加的端口
[root@localhost ~]# semanage port -l|grep -w 8888
# 可以使用-C参数查看自定义的端口号
[root@localhost ~]# semanage port -lC

# 添加一个范围的端口
[root@localhost ~]# semanage port -a -t http_port_t -p tcp 10000-19999

# 删除端口
[root@localhost ~]# semanage port -d -t http_port_t -p tcp 8888
[root@localhost ~]# semanage port -d -t http_port_t -p tcp 11180-11188
  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值