返回介绍

Hack-70 IPTables 规则举例

发布于 2025-03-08 17:39:01 字数 2293 浏览 0 评论 0 收藏 0

IPTables 规则举例

删除现有的规则

用下面的命令来清空当前所设置的所有规则。

iptables -F
(or)
iptables --flush

设置默认的链规则

默认的规则是允许通过,如果你有特殊需求,可以设置成拒绝:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

当你设置了默认的 INPUT 和 OUTPUT 链为 DROP 时,在你的所有防火墙上必须要再定义两条规则,一个是入,另一个是出。

下面的所有例子中,每一个方案都定义了两条规则,一条是入规则,另一条则是出规则.(因为默认是拒绝通过出入包的.)

当然,如果你足够相信你的用户,也可以将默认的出站规则设置为接受,允许所有的出站请求.这样的话,防火墙就只需要一条入站规则了。

拒绝某个特定的 ip 地址

在列举更多的例子之前,先来看一下怎样拒绝来自某个 ip 的全部请求:

iptables -A INPUT -s "ip_address_to_block" -j DROP

当你在日志中发现某个 ip 异常时,你就可以用这条规则来限制这个 ip 地址。

你也可以用下面的方式来拒绝 eth0 网卡上来自这个 ip 地址的 tcp 请求:

iptables -A INPUT -i eth0 -s "ip_address_to_block" -j DROP
iptables -A INPUT -i eth0 -p tcp -s "ip_address_to_block" -j DROP

允许所有的 SSH 入站请求

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

上面的规则允许了所有 eth0 网卡上的 SSH 入站请求。

限制特定的 ip 建立 SSH 连接

iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

上面的例子仅允许来自 192.168.100.*的连接。

当然也可以把 192.168.100.0/24 换成 192.168.100.0/255.255.255.0 , 如果你不嫌麻烦的话...

扩展阅读

都是英文的,一点一点啃吧 :)

本书简介:

  • Linux 进阶技巧
  • 巧妙的命令组合
  • Bash 某些技巧
  • 一共一百零一个(包括充数的)
  • 最后有个奖励章(额外技巧)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文