iptables常用的一些规则

本文详细介绍了iptables的基本配置规则,包括如何设置允许已建立和相关联的连接通过,如何配置回环接口以便网站正常运行,以及如何拒绝不符合规则的数据包并发送拒绝消息。

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

#入站规则:ESTABLISHED,RELATED状态允许通过
#ESTABLISHED:已经建立的连接
#RELATED:正在启动新连接,本机主动建立的连接
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

#INPUT添加回环接口,允许来自于lo接口的数据包,这一条如果不加,你的php或java等网站是无法解析的,因为你的包无法转发到相应的端口
-A INPUT -i lo -j ACCEPT
#INPUT表和FORWARD表中拒绝所有其他不符合上述任何一条规则的数据包。并且发送一条host prohibited的消息给被拒绝的主机,这两条放在iptables配置文件的最后
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited

### iptables常用规则配置 #### 设置默认链策略 为了增强系统的安全性,默认情况下可以将`iptables`的链策略设置为拒绝所有流量,除非特别允许某些类型的通信。这可以通过以下命令实现: ```bash iptables -P OUTPUT DROP ``` 这些命令会分别把输(`INPUT`)、转发(`FORWARD`)以及输出(`OUTPUT`)三个方向的数据包过滤行为设为丢弃模式[^3]。 #### 添加特定条件下的接受规则 当已经设置了较为严格的默认策略之后,则需要针对实际需求来定义例外情况。例如,如果希望允许来自某个IP地址(如192.168.1.1)的所有TCP连接请求通过防火墙本机,可使用如下指令: ```bash iptables -A INPUT -p tcp -s 192.168.1.1 -j ACCEPT ``` 这里 `-A INPUT` 表示向 `INPUT` 链追加一条新规则;`-p tcp` 指定了协议类型为 TCP;而 `-s 192.168.1.1` 则限定了源 IP 地址;最后 `-j ACCEPT` 是指匹配到此条目的数据包将会被接收并继续传输给目标应用程序或服务[^4]。 对于SSH远程登录来说,通常只需要开放指定端口号上的访问权限即可。假设服务器监听的是标准 SSH 端口 (即22),那么就可以这样写相应的放行语句: ```bash iptables -A INPUT -p tcp --dport 22 -j ACCEPT ``` 这条命令的作用是让任何尝试连接本地机器上运行着 sshd 守护进程所占用的那个知名端口(此处为22) 的外部主机都能成功建立安全shell会话。 #### 删除已有的规则项 有时候可能需要移除之前设定好的某条具体规则,在这种时候就需要先查看当前所有的规则列表找到待删项目的编号位置再执行删除操作。比如要清除掉位于 `INPUT` 链第8位处的一条记录的话,应该这样做: ```bash iptables -D INPUT 8 ``` 上述命令中的参数 `-D` 就是用来指示系统从指定链条中删除对应索引位置上的那条规则[^2]。 #### 保存更改后的规则集 完成了一系列调整工作以后记得及时保存新的规则集合以便重启网络接口设备或者整个计算机后依然能够生效。Linux环境下一般采用下面这种方式来进行持久化存储: ```bash sudo iptables-save > /etc/iptables/rules.v4 ``` 该命令可以把现有的全部规则导出至文件 `/etc/iptables/rules.v4` 中去,从而确保即使遭遇意外断电等情况也能恢复先前所做的各项修改[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值