常用UOS服务器防火墙设置常用命令

本文详细介绍了统信UOS服务器操作系统的防火墙设置,包括iptables、ufw和firewalld的区别,如何检查和安装iptables,清空及设置防火墙规则,创建重启生效的脚本,以及配置黑白名单的方法。内容适用于熟悉Debian和Ubuntu的用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.UOS支持的防火墙

2. 防火墙设置

3. 防火墙脚本

4. 关闭防火墙(清空所有规则,删除脚本,关闭重启)

5. 配置黑白名单


1.UOS支持的防火墙

iptables ufw firewalld Netfilter区别?

        iptables ufw firewall 都是前端管理,Netfilter是内核。

        统信的UOS服务器操作系统是基于Debian开发的,因此和Debian和Ubuntu很多命令都是相同的。在Debian和Ubuntu上面可以使用的防火墙在UOS也是可以正常使用的。

        默认情况下,Debian使用iptables,Ubuntu有iptables,也使用简单的ufw,在CentOS7 之前使用的是iptables,CentOS 7开始使用firewall,Centos 7前可以使用iptables命令也可以直接编辑文件/etc/sysconfig/iptables,在firewall一般都是使用命令。在Debian和UOS是使用iptables命令,由于不是直接编辑配置文件,需要对iptables命令比较熟悉,再就是对重启生效需要编辑文件设置。ufw也可以在UOS使用,由于是简易的命令,在本文主要讨论怎么使用iptables来设置防火墙功能。

2. 防火墙设置

1)检查iptables有没有安装

        如果之前有使用CentOS经验使用service iptables status 是检查不出来的,在CentOS中iptables是以服务形式,这里iptables只是配置的前端的命令,也不能使用yum list查看。而是使用apt list|grep iptables ;

        如果没有安装可以使用apt install iptables 或者apt-get install iptables,如果想要使用ufw安装apt install ufw,如果希望使用firewall,也可以安装后使用。

2)服务器防火墙怎么设置

  • 清空原有规则

iptables -L 可以查看现有生效的规则

iptables -P INPUT ACCEPT 清空规则前放开INPUT 否则清空以后可能导致无法远程连接

iptables -F【清空规则】

iptables -X 【删除自建链】

iptables -Z 【重置过滤包数据】

  • 新建规则配置文件

第一种方式,编辑/etc/iptables.sh然后赋予执行权限chmod +x /etc/iptables.sh。执行以后规则就生效了,如果需要修改规则每次都可以修改此文件。

第二种方式,配置文件/etc/iptables(需要使用/sbin/iptables-restore 导入规则,可以配置重启时就执行该文件)

#清空配置

iptables -F

iptables -X

iptables -Z

#配置,禁止进,允许出,允许回环网卡

iptables -P INPUT DROP

iptables -A OUTPUT -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

#允许ping

iptables -A INPUT -p icmp -j ACCEPT

#允许ssh

iptables -A INPUT -p tcp –dport 22 -j ACCEPT

#允许VNC

iptables -A INPUT -p tcp –dport 5900 -j ACCEPT

#学习felix,把smtp设成本地

iptables -A INPUT -p tcp -m tcp –dport 25 -j ACCEPT -s 127.0.0.1

iptables -A INPUT -p tcp -m tcp –dport 25 -j REJECT

#允许DNS

iptables -A INPUT -p tcp -m tcp –dport 53 -j ACCEPT

iptables -A INPUT -p udp -m udp –dport 53 -j ACCEPT

#允许http和https

iptables -A INPUT -p tcp –dport 80 -j ACCEPT

iptables -A INPUT -p tcp –dport 443 -j ACCEPT

# 允许已建立的或相关连的通行

iptables -A INPUT -m state –state ESTABLISHED%2cRELATED -j ACCEPT

#禁止其他未允许的规则访问

iptables -A INPUT -j REJECT #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)

iptables -A FORWARD -j REJECT
  • 导入规则

iptables-save >/etc/iptables 【保存规则】

/sbin/iptables-restore </etc/iptables 【导入规则】

  • 设置重启生效脚本

1.)将iptables.sh脚本放到init.d中每次都重启【需要保障iptables脚本一致都是最新的规则,如果是后续临时修改的规则可能不在其中】

2.)编辑/etc/network/if-pre-up.d/iptables,重启会自动生效。要保障/etc/iptables中规则一致是最新的,每次修改规则可以编辑/etc/iptables 如果是使用iptables命令新增,需要增加iptables-save >/etc/iptables 保存。

#!/bin/sh

/sbin/iptables-restore < /etc/iptables

3. 防火墙脚本

编辑如下脚本【第一次执行】,后续编辑/etc/iptables,使用/sbin/iptables-restore < /etc/iptables重新导入,或者直接iptables命令新增,iptables-save>/etc/iptables 保存,防止机器重启无效

#!/bin/sh

#防火墙脚本

echo “#!/bin/sh

/sbin/iptables-restore < /etc/iptables” >/etc/network/if-pre-up.d/iptables

echo “#清空配置

iptables -F

iptables -X

iptables -Z

#配置,禁止进,允许出,允许回环网卡

iptables -P INPUT DROP

iptables -A OUTPUT -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

#允许ping

iptables -A INPUT -p icmp -j ACCEPT

#允许ssh

iptables -A INPUT -p tcp –dport 22 -j ACCEPT

#允许VNC

iptables -A INPUT -p tcp –dport 5900 -j ACCEPT

#学习felix,把smtp设成本地

iptables -A INPUT -p tcp -m tcp –dport 25 -j ACCEPT -s 127.0.0.1

iptables -A INPUT -p tcp -m tcp –dport 25 -j REJECT

#允许DNS

iptables -A INPUT -p tcp -m tcp –dport 53 -j ACCEPT

iptables -A INPUT -p udp -m udp –dport 53 -j ACCEPT

#允许http和https

iptables -A INPUT -p tcp –dport 80 -j ACCEPT

iptables -A INPUT -p tcp –dport 443 -j ACCEPT

# 允许已建立的或相关连的通行

iptables -A INPUT -m state –state ESTABLISHED%2cRELATED -j ACCEPT

#禁止其他未允许的规则访问

iptables -A INPUT -j REJECT #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)

iptables -A FORWARD -j REJECT” > /etc/iptables.sh

chmod +x /etc/iptables.sh

chmod +x /etc/network/if-pre-up.d/iptables

/etc/iptables.sh

iptables-save > /etc/iptables

/sbin/iptables-restore < /etc/iptables

4. 关闭防火墙(清空所有规则,删除脚本,关闭重启)

iptables -P INPUT ACCEPT

iptables -F

iptables -X

iptables -Z

rm /etc/iptables*

rm /etc/network/if-pre-up.d/iptables

5. 配置黑白名单

#黑白名单

####当只有部分人可以访问使用白名单,当只有部分人不能访问使用黑名单

##设置链名

iptables -N whitelist

iptables -N blacklist

##设置自定义链规则

iptables -A whitelist -s xxxx ACCEPT

iptables -A blacklist -s xxxx DROP

##设置INPUT规则

iptables -A INPUT -p tcp –dport 22 -j whitelist

iptables -A INPUT -p tcp –dport 22 -j blacklist

#删除规则

iptables -D INPUT 数字(iptables -L INPUT –line-numbers 查看对应链的规则序号)

iptables -D INPUT -p tcp –dport 22 -j whitelist (也可以使用设置规则时相同的命令把A改成D)

#删除自定义链

iptables -X 链名(注意内置链不可删除)

iptables -Z 置零

iptables -F 清空规则

参考原文地址:服务器防火墙怎么设置(常用UOS服务器防火墙设置教程) (yqfml.com)

### 如何在国产Linux发行版(如Kylin、UnionTech OS)上安装配置Zabbix服务器及客户端 #### 准备工作 确保目标机器已连接互联网并能正常访问外部资源。更新系统软件包列表以获取最新版本的应用程序。 ```bash sudo apt update && sudo apt upgrade -y ``` 对于基于Debian/Ubuntu的系统,上述命令可以保持不变;而对于CentOS/RHEL类,则应使用`yum`或`dnf`工具来代替[^1]。 #### 安装Zabbix官方仓库 为了简化安装过程以及获得更稳定的服务支持,推荐通过添加Zabbix官方源的方式来进行部署: ##### 对于Debian系(Ubuntu/Kylin/UOS) 创建一个新的APT源文件用于存储Zabbix的相关信息: ```bash echo 'deb http://repo.zabbix.com/zabbix/6.0/ubuntu focal main' | sudo tee /etc/apt/sources.list.d/zabbix-official-repo.list wget https://repo.zabbix.com/zabbix-official-signing-key.pub sudo apt-key add zabbix-official-signing-key.pub ``` 注意这里的URL可能依据具体使用的操作系统版本有所不同,请参照官方网站说明调整路径参数。 接着再次刷新本地缓存以便识别新增加的内容: ```bash sudo apt-get update ``` ##### 对于RedHat系(CentOS Stream 8+/EulerOS) 执行如下指令加入YUM库: ```bash rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-1.el8.noarch.rpm dnf clean all ``` #### 正式安装服务端组件 完成以上准备工作之后就可以正式开始安装了。这里假设读者选择了MySQL作为数据库后端,PostgreSQL也是可行的选择之一,只需替换相应的依赖项即可。 针对不同类型的Linux发行板,采用对应的包管理器进行操作: ```bash # Debian-based systems (like Ubuntu, Kylin, UOS) sudo apt install zabbix-server-mysql zabbix-web-mysql php7.4-gd mariadb-client libapache2-mod-php7.4 apache2 -y # Red Hat-based systems (such as CentOS Stream 8+, EulerOS) sudo dnf module enable mysql sudo dnf install @mysql sudo systemctl start mysqld.service sudo dnf install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts php php-mysqlnd -y ``` #### 初始化数据库结构 无论选用哪种SQL引擎,在此之前都需要先建立好空白的数据表空间供后续导入脚本填充数据之用。 ```sql CREATE DATABASE IF NOT EXISTS zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix_user'@'localhost' IDENTIFIED BY '<password>'; FLUSH PRIVILEGES; SOURCE /usr/share/doc/zabbix-server-mysql*/create.sql.gz ; ``` > **提示**: 实际运行时请记得修改默认密码,并根据实际情况调整权限范围。 #### 配置Web前端与Server设置 编辑位于 `/etc/zabbix/web/zabbix.conf.php` 的PHP配置文档,指定先前设定好的DB账户名和密钥等必要字段值。同时也要确认Apache/Nginx等相关HTTP Server已经正确加载了php模块并且能够解析`.php`结尾的动态页面请求。 最后一步就是重启所有涉及的服务进程使更改生效啦! ```bash sudo systemctl restart apache2 # For Apache on Debian-like distros sudo systemctl restart nginx # If using Nginx instead of Apache sudo systemctl restart zabbix-server ``` 此时应该可以通过浏览器访问到http(s)://<your_server_ip>/zabbix 来继续图形化的向导流程了。 #### 设置防火墙规则允许远程接入 如果启用了iptables或其他形式的安全防护机制的话,那么还需要额外开放几个常用的TCP监听端口给外界设备连入进来做监控用途。 ```bash ufw allow 80/tcp # HTTP Web UI access ufw allow 443/tcp # HTTPS secure connection ufw allow 10050/tcp # Zabbix Agent default port ufw allow 10051/tcp # Zabbix Trapper passive checks listener ``` #### 测试验证环境搭建成果 打开网页浏览器输入刚才记录下的IP地址加上/zabbix路径尝试登录,默认用户名为Admin而初始密码为空字符串(即直接回车),成功进入仪表盘界面则表明整个安装过程顺利完成。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等到鸡吃完米

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值