统信UOS中配置iptables需五步:一、安装iptables及持久化工具;二、清空规则并设默认策略;三、添加端口/IP访问控制规则;四、保存规则并启用开机加载服务;五、可选编写脚本实现一键部署与开机执行。

如果您在统信UOS系统中需对网络数据包实施精细控制,但当前iptables规则为空或未生效,则可能是由于iptables未安装、规则未加载或未持久化所致。以下是配置iptables规则的多种可行路径:
一、确认并安装iptables工具
iptables命令行工具是操作Netfilter规则的核心组件,UOS桌面版可能默认未预装完整iptables套件,需手动验证与安装。
1、在终端中执行iptables --version检查是否已安装;若提示“command not found”,则进入下一步。
2、执行sudo apt update更新软件包索引。
3、执行sudo apt install -y iptables iptables-persistent安装iptables主程序及持久化支持组件。
4、安装完成后再次运行iptables --version,确认输出类似iptables v1.8.7的版本信息。
二、清空现有规则并设置默认策略
为避免残留规则干扰新策略生效,需先重置filter表状态,并明确INPUT、OUTPUT、FORWARD链的默认行为。
1、执行sudo iptables -F清空所有链的规则。
2、执行sudo iptables -X删除所有用户自定义链。
3、执行sudo iptables -Z清零所有规则计数器。
4、设置默认策略:执行sudo iptables -P INPUT DROP拒绝所有入站连接;执行sudo iptables -P OUTPUT ACCEPT允许全部出站;执行sudo iptables -P FORWARD DROP禁用转发。
5、添加基础放行规则:执行sudo iptables -A INPUT -i lo -j ACCEPT允许回环通信;执行sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT放行已建立连接的响应流量。
三、添加端口与IP访问控制规则
通过匹配协议、端口、源地址等条件,可精确控制服务访问权限,适用于Web、SSH、数据库等典型场景。
1、开放本机TCP 80端口(HTTP):sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT。
2、仅允许来自192.168.10.0/24子网的设备访问TCP 22端口(SSH):sudo iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT。
3、拒绝特定恶意IP(如203.0.113.99)的所有入站请求:sudo iptables -I INPUT -s 203.0.113.99 -j DROP。
4、限制UDP DNS查询仅响应本地网络:sudo iptables -I INPUT -s 192.168.1.0/24 -p udp --dport 53 -j ACCEPT;随后添加拒绝其他来源的规则:sudo iptables -A INPUT -p udp --dport 53 -j DROP。
四、保存规则并实现开机自动加载
iptables规则默认仅存在于内存中,重启后将丢失;必须显式保存至配置文件,并确保系统启动时调用还原命令。
1、执行sudo iptables-save | sudo tee /etc/iptables/rules.v4将当前filter表规则写入标准持久化路径。
2、验证文件是否生成:sudo ls -l /etc/iptables/rules.v4,确认返回非空结果。
3、启用iptables-persistent服务:sudo systemctl enable iptables-persistent。
4、立即启动该服务以加载规则:sudo systemctl start iptables-persistent。
5、检查加载状态:sudo systemctl status iptables-persistent,确认显示active (exited)且无报错。
五、直接编辑规则脚本并手动加载
适用于需要复用复杂规则集、或规避服务管理依赖的场景;通过可执行Shell脚本封装全部iptables指令,实现一键部署。
1、创建规则脚本:sudo nano /etc/iptables.sh。
2、在文件中输入完整规则序列,例如:
#!/bin/sh<br>iptables -F<br>iptables -X<br>iptables -P INPUT DROP<br>iptables -P OUTPUT ACCEPT<br>iptables -A INPUT -i lo -j ACCEPT<br>iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT<br>iptables -I INPUT -p tcp --dport 443 -j ACCEPT
3、赋予执行权限:sudo chmod +x /etc/iptables.sh。
4、立即执行脚本:sudo /etc/iptables.sh。
5、设置开机执行:编辑/etc/rc.local(若存在),在exit 0前添加/etc/iptables.sh;或创建systemd服务单元指向该脚本。

















