iptables 访问限制

本文介绍了如何使用iptables命令来配置防火墙规则,具体包括允许特定IP地址的数据包通过、开放UDP的DNS端口53以及HTTP服务的TCP端口80等操作。
iptables -A INPUT -s x.x.x.x  -j ACCEPT
iptables -A INPUT -s 0/0 -p udp --sport 53 -j ACCEPT
iptables -A INPUT -s 0/0 -p tcp --sport 80 -j ACCEPT
### 如何使用 `iptables` 配置 IP 访问控制规则 #### 设置默认策略 为了确保安全性,默认情况下可以拒绝所有的入站流量,这可以通过设置默认策略来实现。 ```bash iptables -P INPUT DROP ``` 这条命令会将所有未匹配其他规则的入站数据包丢弃[^3]。 #### 允许已建立的连接 为了避免中断已经存在的合法连接,在应用任何新的限制之前应该允许已知良好的通信: ```bash iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT ``` 此指令让通过状态跟踪模块识别为既定或相关的连接继续正常工作[^2]。 #### 添加特定 IP 的访问权限 如果希望只允许来自某个特定 IP 地址的数据进入,则可如下操作: ```bash iptables -A INPUT -s 192.0.2.42 -j ACCEPT ``` 这里 `-s` 参数指定了源地址 (source),即哪个 IP 可以发送请求给服务器;而 `-j ACCEPT` 表示接受这些请求。请注意替换上面例子中的 `192.0.2.42` 为你实际想要放行的那个 IP 地址。 #### 拒绝未知来源的访问尝试 对于那些不在白名单上的 IP 尝试发起的新连接,应当予以阻止: ```bash iptables -A INPUT -p tcp --dport ssh -j REJECT --reject-with tcp-reset ``` 上述命令针对目标端口为 SSH (`--dport ssh`) 的 TCP 流量执行拒绝动作,并向客户端返回 RST 数据包告知其连接已被重置。 #### 保存更改后的防火墙规则 最后一步非常重要——确保所做的修改不会因为重启机器而丢失。不同 Linux 发行版有不同的方法来持久化存储 `iptables` 规则集。例如,在某些系统上可以用下面这样的方式完成这项任务: ```bash service iptables save ``` 或者如果是基于 Debian/Ubuntu 的发行版本可能需要这样处理: ```bash apt-get install iptables-persistent netfilter-persistent save ``` 以上就是关于如何利用 `iptables` 来实施基本的 IP 白名单机制的一个简单介绍和实践指导。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值