Linux--firewall高级配置

简介: Linux--firewall高级配置

一,IP地址伪装

地址伪装可以实现局域网多个地址共享单一公网地址上网。

二,端口转发

可以通过端口转发将私网地址的服务器发布到公网

三,富规则命令

image.png


已配置 富语言 规则 显示方式

firewall- cmd --list-all

firewall- cmd -- list-all-zones

富语言规则 具体语法

source 、 destination 、 element 、 service 、 port 、 protocol 、 icmp -block 、 masquerade 、 forward-port 、 log 、 audit 、 accept|reject|drop


source:限制源IP地址

destination:限制目标地址

element:要素,该项只能是以下几种要素类型之一

       service:服务

       port:端口

       protocol:协议

       icmp-block:阻断一个或多个ICMP类型

       masquerade:规则里的IP伪装

       forward-port:将指定的TCP或UDP协议的数据包转发到本地的其他端口

log:系统日志

audit:审核,类型:accept,reject,drop的一种  

四,规则配置举例

1.为认证报头协议AH使用新的IPv4和IPv6连接

1. [root@localhost ~]# firewall-cmd --add-rich-rule='rule protocol value=ah accept'
2. success

2.允许新的IPv4和IPv6连接FTP,并使用审核每分钟记录一次

[root@localhost ~]# firewall-cmd --add-rich-rule='rule service name=ftp log limit value=1/m audit accept'
success

3.允许来自192.168.0.0/24地址的TFTP协议的IPv4连接,并且使用系统日志每分钟记录一次

[root@localhost ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="xftp" level="info" limit value="1/m" accept'
success

4.为RADIUS协议拒绝所有来自1:2:3:4:6::的新IPv6连接,日志前缀为“dns”,级别为“info”,并每分钟最多记录3次。接受来自其他发起端新的IPv6连

[root@localhost ~]# firewall-cmd --add-rich-rule='rule family="ipv6" source address="1:2:3:4:6::" service name="radius" log prefix="dns" level="info" limit value="3/m" reject'
success
[root@localhost ~]# firewall-cmd --add-rich-rule='rule family="ipv6" service name="radius" accept'
success

5.将源192.168.2.2地址加入白名单,以允许来自这个源地址的所有连接

[root@localhost ~]# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.2" accept'
success

6.拒绝来自public区域中IP地址192.168.0.11的所有流量

[root@localhost ~]# firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.0.11/32 reject'
success

7.丢弃来自默认区域中任何位置的所有传入的ipsec esp协议包

[root@localhost ~]# firewall-cmd --add-rich-rule='rule protocol value="esp" drop'
success

8.在192.168.1.0/24子网的dmz区域,接受端口7900-7905的所有TCP包

[root@localhost ~]# firewall-cmd --zone=dmz --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=7900-7905 protocol=tcp accept'
success

9.接收从work区域到SSH的新连接,以notice级别且每分钟最多三条消息的方式将新连接记录到syslog。

[root@localhost ~]# firewall-cmd --zone=work --add-rich-rule='rule service name=ssh log prefix="ssh" level="notice" limit value="3/m" accept'
success

10.在接下来的5min内,拒绝从默认区域中的子网192.168.2.0/24到DNS的新连接,并且拒绝的连接将记录到audit系统,且每小时最多一条信息。

[root@localhost ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.2.0/24 service name=dns audit limit value="1/h" reject' --timeout=300
success

11.关闭地址external的地址伪装,添加富规则,要求external区域内,源地址为192.168.1.0/24网段的地址开启地址IP伪装。

firewall-cmd --remove-masquerade  --zone=external

firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 masquerade'  

12.富规则端口转发

firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 destination address=100.1.1.15/32 forward-port port=443 protocal=tcp to-addr=192.168.2.10'






目录
相关文章
|
1月前
|
消息中间件 安全 Linux
服务器(Linux)在线下载activeMQ以及配置打开
服务器(Linux)在线下载activeMQ以及配置打开
36 3
|
23天前
|
Ubuntu Linux Shell
github用存在的私钥在Linux上配置免密登录
在Linux上配置GitHub免密登录,使用已有的私钥。系统环境为Ubuntu 22.04.3 LTS。步骤包括:1) 将名为`github`的私钥文件上传至`~/.ssh/github`;2) 设置正确权限`chmod 600 ~/.ssh/github`和`chmod 700 ~/.ssh`;3) 启动SSH代理并添加私钥`ssh-agent -s`和`ssh-add ~/.ssh/github`。完成上述步骤后,可以无缝使用GitHub。
29 0
|
1月前
|
Ubuntu Linux 编译器
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
【Linux】详解动静态库的制作和使用&&动静态库在系统中的配置步骤
|
8天前
|
Linux Shell 持续交付
Linux下vim的配置
本文介绍了如何对vim进行基础配置,如行号显示、缩进设置等,并推荐了一种自动化部署方案,通过链接下载预配置的vim环境脚本,简化了配置过程,提升开发效率。
19 3
Linux下vim的配置
|
1天前
|
域名解析 网络协议 Linux
Linux系统下DNS配置指南
Linux系统下DNS配置指南
15 1
|
2天前
|
网络协议 Linux 网络安全
Linux配置SSH允许TCP转发
Linux配置SSH允许TCP转发
8 1
|
10天前
|
关系型数据库 MySQL Shell
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
【权限提升】Linux系统&环境变量&定时任务&权限配置不当&MDUT自动化
|
13天前
|
Linux 数据处理 数据库
探索Linux的`infocmp`命令:终端配置的得力助手
`infocmp`是Linux下用于查看和比较`terminfo`数据库中终端类型描述的命令。它显示终端的控制序列、按键映射等信息,并能找出不同终端的配置差异。通过参数如`-c`(以termcap格式输出)、`-d`(比较差异)和`-1`(单列显示)等可定制输出。例如,`infocmp $TERM`显示当前终端配置,`infocmp xterm vt100`比较两者差异。了解终端类型和选择合适输出格式是有效使用的关键。
|
22天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch,帮助你快速搭建起这个强大的工具
【6月更文挑战第7天】本文档详细介绍了如何在Rocky Linux 8上安装和配置Elasticsearch,首先通过添加Elasticsearch仓库并使用yum安装。接着,配置Elasticsearch,包括修改`elasticsearch.yml`、设置内存和文件描述符,以及可选的安全设置。启动Elasticsearch后,通过验证日志和测试连接确保其正常运行。文章还列举了常见问题及解决方法,如启动失败、内存不足和网络问题。按照这些步骤,用户可以在Rocky Linux 8上成功部署Elasticsearch,为数据管理与分析提供强大支持。
36 5
|
23天前
|
Linux Shell
Linux配置uwsgi环境
Linux配置uwsgi环境