标签: iptables

列出所有路由表

我需要知道如何列出所有路由表的 ID。例如,我可以运行:

ip rule add fwmark 2 table 104
ip route add dev eth0 default via 192.168.3.7 table 104
Run Code Online (Sandbox Code Playgroud)

调用ip rule list显示:

0:  from all lookup local 
32765:  from all fwmark 0x2 lookup 104 
32766:  from all lookup main 
32767:  from all lookup default
Run Code Online (Sandbox Code Playgroud)

并调用ip route show table 104显示:

default via 192.168.3.7 dev eth0
Run Code Online (Sandbox Code Playgroud)

如果我然后调用ip rule del table 104,随后的调用ip rule list显示:

0:  from all lookup local 
32766:  from all lookup main 
32767: …
Run Code Online (Sandbox Code Playgroud)

routing iptables iproute2

17
推荐指数
3
解决办法
13万
查看次数

当防火墙中阻止所有传入和传出连接时,为什么 ping 工作正常?

ufw在 Debian VPS 上拒绝了传入和传出连接。只定义了一个规则,即允许连接到 SSH 端口。

ufw 已启用并正常工作。

但是我仍然可以使用它的 IP 从我的笔记本电脑 ping 到服务器。如果传入和传出连接都被阻止(SSH 除外),为什么 ping 仍然有效?

vps debian iptables ping ufw

17
推荐指数
1
解决办法
3164
查看次数

如何列出被 iptables 阻止的 IP 地址?

为了防止对 ssh 的暴力攻击,我添加了一些iptables 规则(如下)。问题是:如何列出被阻止的 IP 地址?

(1)
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP
Run Code Online (Sandbox Code Playgroud)

linux iptables

16
推荐指数
2
解决办法
6万
查看次数

用于大规模环境的 iptables 管理工具

我所在的环境是一个大规模的网络托管操作(管理着数百台服务器,几乎所有的公共地址等等——所以任何谈论管理 ADSL 链接的事情都不太可能运行良好),而且我们重新寻找能够轻松管理核心规则集(目前 iptables 中大约 12,000 个条目)以及我们为客户管理的基于主机的规则集的东西。我们的核心路由器规则集每天更改几次,而基于主机的规则集可能每月更改 50 次(跨所有服务器,因此每个月每五台服务器可能更改一次)。

我们目前正在使用 filtergen(一般来说是球,在我们的运营规模上是超级球),我过去曾在其他工作中使用过 shorewall(这比 filtergen 更可取,但我认为必须有比这更好的东西)。

我们为任何更换系统提出的“必须”是:

  • 必须相当快地生成规则集(在我们的规则集上运行 filtergen 需要 15-20 分钟;这太疯狂了)——这与下一点有关:
  • 必须生成一个 iptables-restore 样式文件并一次加载,而不是为每个规则插入调用 iptables
  • 在规则集重新加载时,不得长时间关闭防火墙(同样,这是上述问题的结果)
  • 必须支持 IPv6(我们不会部署任何与 IPv6 不兼容的新东西)
  • 必须不含 DFSG
  • 必须使用纯文本配置文件(因为我们通过版本控制运行所有内容,并且使用标准的 Unix 文本操作工具是我们的 SOP)
  • 必须同时支持 RedHat 和 Debian(首选打包,但至少不能公开反对任一发行版的标准)
  • 必须支持运行任意 iptables 命令的能力,以支持不属于系统“本地语言”的功能

任何不符合所有这些标准的都不会被考虑。以下是我们的“好东西”:

  • 应该支持配置文件“片段”(也就是说,你可以把一堆文件放到一个目录中,然后对防火墙说“在规则集中包含这个目录中的所有内容”;我们广泛使用配置管理,希望使用这个功能来自动提供特定于服务的规则)
  • 应该支持原始表
  • 应该允许您在传入数据包和 REJECT 规则中指定特定的 ICMP
  • 应该优雅地支持解析为多个 IP 地址的主机名(我们已经用 filtergen 遇到过几次这个问题;这是一种相当痛苦的屁股)
  • 该工具支持的可选/奇怪的 iptables 功能(本地或通过现有或易于编写的插件)越多越好。我们时不时地使用 iptables 的一些奇怪的功能,而且“正常工作”的功能越多,对每个人都越好。

linux firewall iptables

16
推荐指数
1
解决办法
7333
查看次数

在 Linux 中管理 iptables 规则

我的 iptables 设置有很多规则(路由、ssh 禁止等),我还从http://blacklist.linuxadmin.org获取了要禁止的 IP 列表,现在它变得非常复杂。

/etc/sysconfig/iptables的真的很长。有没有办法通过包含来自外部文件的规则来管理规则?

例如:

#include "pre_routing_rules"
#include "ssh_bans"
Run Code Online (Sandbox Code Playgroud)

这将包括在文件“pre_routing_rules”和“ssh_bans”中添加的规则这样我可以轻松管理我的规则而无需在cat /etc/sysconfig/iptables.

linux fedora iptables

16
推荐指数
2
解决办法
4527
查看次数

iptables - 桥接和转发链

我已经安装的以太网桥br0,它包含两个接口eth0tap0

brctl addbr br0
brctl addif eth0
brctl addif tap0
ifconfig eth0 0.0.0.0 promisc up
ifconfig tap0 0.0.0.0 promisc up
ifconfig br0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 
Run Code Online (Sandbox Code Playgroud)

我的默认FORWARD连锁政策是DROP

iptables -P FORWARD DROP
Run Code Online (Sandbox Code Playgroud)

当我不添加以下规则时,流量不会通过桥。

iptables -A FORWARD -p all -i br0 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

据我了解iptables只负责IP层。

ebtables 应该负责过滤以太网桥上的流量。

那么为什么我必须在 iptable 的 FORWARD 链中添加 ACCEPT 规则呢?

linux ubuntu iptables bridge

16
推荐指数
3
解决办法
5万
查看次数

使用 hosts.[allow|deny] 与 iptables 保护 linux box 有什么区别?

正如标题所述,我有一个 linux 盒子。据我所知,我可以使用 hosts.allow / hosts.deny 或 iptables 来保护。有什么不同?是否有另一种机制可以使用?

security linux iptables

16
推荐指数
1
解决办法
5332
查看次数

IPTABLES中DNAT和REDIRECT的区别

好吧,可能是因为我很密集,或者可能只是没有找到合适的来源,但我不明白为什么这些 IPTABLES 设置中的一个会比另一个更好。

这是我的设置:

我有一个用作透明代理和路由器的盒子。它上面有两个接口,ETH0和ETH1,地址方案如下:

ETH0 = DHCP ETH1 = 192.168.5.1/24 为 192.168.5.0/24 网络的 DHCP 服务在 LAN 后面的客户端

我安装了 privoxy 并作为透明代理在端口 8080 上监听。我通过此设置完成的是能够将此框放入现有网络中,配置最少,并将客户端附加到代理。

这是我的原始 IPTABLES 文件

*nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 8080
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
COMMIT
Run Code Online (Sandbox Code Playgroud)

此配置工作正常,流量来回流动没有问题。我在 privoxy 日志文件中获得了原始客户端的 IP 地址,并且生活很好。

当我开始查看其他人的配置并看到他们使用 DNAT 而不是 REDIRECT 时,我的困惑就出现了,我试图了解其中一个的真正好处。这是一个示例配置:

*nat
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to 192.168.5.1:8080
-A POSTROUTING -o eth0 -j …
Run Code Online (Sandbox Code Playgroud)

routing proxy iptables

16
推荐指数
2
解决办法
5万
查看次数

用于基本 HTTP(s) 网络服务器的安全标准 iptables 规则集

我一直在尝试组合一个基本的服务器 iptables 脚本,该脚本适用于大多数使用 HTTP(S) 和 SSH(端口 80、443 和 22)运行基本网络服务器的站点。毕竟,大多数VPS只需要这些起始端口规则,以后可以根据需要添加邮件或游戏端口。

到目前为止,我有以下规则集,我想知道是否有人知道更好的脚本或可以添加的任何改进。

*filter

#  Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

#  Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#  Allows all outbound traffic
#  You can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

# Allows HTTP and HTTPS …
Run Code Online (Sandbox Code Playgroud)

security linux firewall iptables best-practices

16
推荐指数
1
解决办法
3万
查看次数

Ubuntu:如何添加 UFW 无法创建的 iptables 规则

UFW 对我来说工作得很好,除非它不...

我希望能够手动添加将在启动时应用的另一条规则?

  • 我应该把这条规则放在哪里?
  • 我应该如何让它在启动时启动?
  • 我如何让它与 UFW 一起玩得很好?

ubuntu iptables ufw

16
推荐指数
2
解决办法
1万
查看次数

标签 统计

iptables ×10

linux ×6

firewall ×2

routing ×2

security ×2

ubuntu ×2

ufw ×2

best-practices ×1

bridge ×1

debian ×1

fedora ×1

iproute2 ×1

ping ×1

proxy ×1

vps ×1