linux系统防火墙白名单,linux系统防火墙如何结束白名单

1

一、查看这个Linux系统有没配置过白名单操作

登录这个Linux系统命令操作平台,输入命令:

iptables -nL

查看这个Linux系统之前有没配置过白名单并且是否是启动状态,如果有配置就可以直接修改信息就可以了,没有配置过的话,就要自己写配置信息了。

小编的使用的这个Linux系统一开始是有配置过白名单的,但是处于关闭状态,如下图所示。

Linux服务器数据库防火墙白名单设置

2

二、查看这个Linux系统配置的白名单信息

先使用命令: cat /etc/sysconfig/iptables

看下之前配置的白名单信息是什么,最好先将其信息复制到本地来修改,修改完后在复制到Linux系统配置的白名单里面去,字样比较安全保险一点。

Linux服务器数据库防火墙白名单设置

3

三、备份之前Linux系统配置的白名单信息

使用命令:

mv /etc/sysconfig/iptables /etc/sysconfig/iptables.bak201909

备份一下之前Linux系统配置的白名单信息,防止后面配置有问题需要还原回来。

4

四、修改Linux系统配置的白名单信息

使用命令:vi /etc/sysconfig/iptables

进入Linux系统文件配置的修改操作,将其之前在本地复制修改的配置信息,复制添加到这个iptables配置文件里面去下。

然后点击ESC退出键,输入:wq!保存退出即可。

小编这边配置的iptables配置信息如下:

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -s 123.123.123.123 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

-A INPUT -s 123.123.123.124 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

-A INPUT -s 123.124.0.0/16 -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j REJECT --reject-with icmp-port-unreachable

COMMIT

上面这个数据库限制的端口,mysql数据库一般为3306,oracle一般为1521,这个要具体看下自己数据库使用的是哪个端口。

Linux服务器数据库防火墙白名单设置

5

五、重新启动Linux系统白名单

Linux系统白名单信息配置好了之后就要开启白名单防火墙了,使用命令:

service iptables start 开启白名单防火墙。

然后使用命令:hkconfig iptables on   和    iptables -nL

查看一下开启白名单防火墙的结果,看下是否白名单信息修改成功!

### 如何配置防火墙白名单Linux环境下,可以通过`firewall-cmd`命令或者`iptables`工具来配置防火墙白名单规则。以下是关于这两种方法的具体说明: #### 使用 `firewall-cmd` 命令配置白名单 对于基于RHEL/CentOS/Fedora系统的用户来说,通常会使用`firewalld`作为默认的防火墙管理工具。以下是一些常用的命令用于管理和配置白名单。 - **查看当前防火墙状态** 可以通过以下命令检查防火墙是否正在运行: ```bash sudo firewall-cmd --state ``` - **添加特定IP到白名单** 如果希望允许某个具体的IP地址访问服务器,则可以将其添加至信任列表中: ```bash sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept' --permanent ``` 这里的`source address`字段指定了被允许连接的客户端IP地址[^1]。 - **重新加载防火墙配置使更改生效** 修改完成后记得刷新防火墙设置以便应用新的规则集: ```bash sudo firewall-cmd --reload ``` - **验证新规则已成功添加** 查看现有的富规则(rich rules),确保刚才定义的内容存在其中: ```bash sudo firewall-cmd --list-all ``` #### 利用 `iptables` 实现更灵活的控制 另一种方式就是直接操作底层网络包过滤框架——即利用`iptables`手动构建复杂的ACLs(访问控制列表)。这种方法提供了极大的灵活性但也相对复杂一些。 - **新建自定义链表** 创建一个新的链条专门用来处理来自可信主机的数据流: ```bash sudo iptables -N WHITELIST ``` - **向该链追加接受条件** 对于每一个需要放行的目标机器都要单独指定一条记录;比如让内部局域网内的某台PC能够正常通讯的话可执行如下指令: ```bash sudo iptables -A WHITELIST -s 192.168.1.50 -j ACCEPT ``` - **拒绝其他一切未匹配项** 默认情况下丢弃任何不符合上述标准的数据报文: ```bash sudo iptables -A INPUT -j DROP ``` - **调用此子链完成最终组装** 将整个WHITELIST嵌入INPUT主流程当中从而激活整体逻辑结构: ```bash sudo iptables -I INPUT 1 -j WHITELIST ``` 最后一步非常重要因为它决定了优先级顺序关系【注意这里的编号位置】[^2]。 #### 特定场景下的高级定制示例 (Redis & Elasticsearch) 当涉及到像NoSQL数据库这样的服务时往往还需要额外考虑端口号层面的安全防护措施。假设我们有一个分布式存储环境由三台物理机组成分别位于不同的私有子网上面部署了Redis缓存实例以及Elasticsearch搜索引擎组件那么就可以按照下面的方式来进行精细化权限划分: ```bash # 开启必要的TCP监听通道 sudo firewall-cmd --zone=public --add-port={8531-8536,9200,9300}/tcp --permanent # 明确限定哪些远程设备才具备合法身份发起请求的权利 for ip in {1..3}; do sudo firewall-cmd --add-rich-rule="rule family='ipv4' source address='192.168.1.$((ip))' port protocol='tcp' port='{8531-8536}' accept" --permanent; done # 同步更新内存中的实时映射情况 sudo firewall-cmd --complete-reload ``` 以上脚本片段展示了如何针对一组固定的源地址范围授予对其它专用资源接口的操作许可权限的同时又保持对外界的绝对封闭性[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值