nftables

什么决定数据包是否应该在本地路由或​​转发?
nftables

什么决定数据包是否应该在本地路由或​​转发?

如图所示,当 Linux 内核接收到一个数据包时,它会经过预路由链,然后做出路由决策,是将其转发到其他地方还是传送到本地进程。 输入接口的 IP 地址如何影响路由决策? 其他接口的 IP 地址如何影响路由决策? 路由表如何影响路由决策? 是否有任何好的资源可以描述内核如何做出此入站路由决策? 我想要实现的是将来自 eno1 且目的地为 95.123.123.62 的数据包转发到 virbr0(libvirtd虚拟网络交换机)。然而,尽管目标 IP 属于 virbr0 接口,但它们似乎只是被放入输入链中。以下是 的输出ip address: 83...

Admin

使用非默认路由表伪装流量
nftables

使用非默认路由表伪装流量

我的网络设置如下: ┌──────┬────────┐ ┌───────────┐ │ │ eno1.1 │ │ Network A │ │ │ ├─┤ │ ┌────────┐ ┌────────┤ │10.0.1.2│ │10.0.1.0/24│ │ Client │ │ eno2 │ ├────────┘ └───────────┘ │ ...

Admin

nftables 规则的默认判决是什么?
nftables

nftables 规则的默认判决是什么?

例如: #!/usr/sbin/nft -f add table ip filter_4 add chain ip filter_4 input { type filter hook input priority filter; policy drop; } add chain ip filter_4 new_in_4 { comment "New input IPv4 traffic" } # Note it's goto not jump! (thus no way out of new_in_4 chain) add rule ...

Admin

将正则链添加到 nftables “操作不受支持”
nftables

将正则链添加到 nftables “操作不受支持”

添加常规链的语法nftables是: add chain [family] <table_name> <chain_name> [{ [policy <policy> ;] [comment "text comment about this chain" ;] }] 我运行命令如下: 假设有ipclient表,根据需要修改以进行测试。 sudo nft -i add chain ip client test { policy accept; } 错误如下: Error: Could not process rule: ...

Admin

nftables 配置 ipsec (strongswan) vpn
nftables

nftables 配置 ipsec (strongswan) vpn

如果远程端(10.X.117.0/24网络)的设备(树莓派)和本地网络(10.Y.0.0/16网络)之间建立了有效的 IPSec 连接。 树莓派10.X.117.1在其eth0LAN 接口上有一个静态 IP,并且192.168.8.120在其eth1接口上通过 DHCP 通过 LTE 令牌有一个静态 IP,用于 IPSec 连接。 从本地网络我可以通过访问树莓派10.X.117.1。 但此外我想访问: 远程10.X.117.0/24网络中的所有设备(具有静态 IP),这些设备通过本地网络连接,eth0例如通过10.X.117.60。 本地网络与远程网络...

Admin

仅当重新启动 nftables 后,互联网连接才会激活
nftables

仅当重新启动 nftables 后,互联网连接才会激活

我配置了一个基于 Debian 的 DIY 路由器,没有 DHCP 和 DNS 服务器。 我的问题: 当我打开路由器并启动系统时,客户端上的 Internet 连接可用 4-5 秒(Win10 客户端上的 Internet 图标变为活动状态),然后断开,只有在我重新启动 nftables 后才可用。如何在不重新启动 nftables 的情况下永久启用 Internet 连接? 我对 Linux 和 nftables 还很陌生,非常感谢您的支持!PS:我决定不使用 OpenWRT 和 pfsense,因为我也想部署和学习 podman 技术。 #!/usr/s...

Admin

DIY 最小安装 Debian nftables 路由不起作用
nftables

DIY 最小安装 Debian nftables 路由不起作用

我正在尝试在 Debian OS 和 PC 硬件上构建一个具有多个网络接口的路由器。安装了最小的 debian-12.2.0-amd64 并尝试在 init7_WAN 和 Carbon_LAN 之间实现路由。但我无法从插入 Carbon_LAN 的 Windows 10 客户端获得互联网连接 :( 在 Debian 路由器上 Ping 任何域都可以正常工作。 Windows 客户端与路由器之间的 Ping 操作正常。 我现在的问题是:在 Windows 客户端上 Ping 任何域均会失败。 我的问题:如何解决我的 ping 问题? 我是 Linux 的新手,...

Admin

目标
nftables

目标

VM = 虚拟机。WS = 工作站 VM。GW = 网关 VM。 虚拟化软件:Oracle VirtualBox。 主机/客户机操作系统:所有 Debian 12。 防火墙软件:nftables 目标 类似 Whonix 的设置。WS 位于内部适配器后面,GW 位于相同的内部适配器和 NAT 后面。WS 通过 GW 访问互联网。 为什么不只是 NAT? NAT 允许连接到主机的环回接口,这是不可取的。 问题 设置防火墙规则。我希望 WS 只能通过 GW 转发其流量,但不能与其直接连接。 原因是我不明白为什么应该这样。GW 可能恰好为同一内部网络中的其他 ...

Admin

将本地请求重定向到其他 ip (linux - 例如 debian >= 10)
nftables

将本地请求重定向到其他 ip (linux - 例如 debian >= 10)

我希望将对机器 A 自身上的某个 IP:端口的所有请求(对于当前或更确切地说是 10/11/12)转发到另一个 IP = 机器 B,以便来自机器 A 上进程的请求转发到具有 IP B 的机器 B。 机器 A 可以访问机器 B 的网络,反之亦然(ip a在机器 A 上: 2: eno1: ... inet X.Y.52.60/24 brd X.Y.52.255 scope global eno1 valid_lft forever preferred_lft forever inet X.Z.52.16/24 brd X.Z.5...

Admin

需要帮助使用 nftables 删除包含特定社区字符串的 SNMP 数据包
nftables

需要帮助使用 nftables 删除包含特定社区字符串的 SNMP 数据包

我正在尝试使用 nftables [v1.0.2 (Lester Gooch)] 删除包含社区字符串“pawan”的 SNMP 数据包。我正在尝试使用 nftables 有效负载表达式 - 原始有效负载表达式来匹配包含社区字符串 public 的 SNMP 数据包,如下所示: nft 添加表 ip 过滤器 nft'添加链 ip 过滤器输入 { 类型过滤器钩子输入优先级 0;策略接受;}' nft 添加规则 ip 过滤器输入 udp dport 161 @th,48,40 0x7077616e 丢弃 这里@th(传输头)需要偏移量和长度(以位为单位)htt...

Admin

如何通过我的 nftables 防火墙从 weather.gov 获取数据?
nftables

如何通过我的 nftables 防火墙从 weather.gov 获取数据?

我正在编写一个 Python 脚本,该脚本从 weather.gov(NDFD SOAP 服务和当前观测 XML)获取数据以绘制屏幕保护程序图片。该脚本在我的普通计算机上运行,​​但在我的 pi zero w 上却不行,这让我相信 nftables 可能阻止了流量。 当我在 pi 上运行脚本时,它会挂起。当我通过键盘中断停止脚本时,它会给我这个回溯: Traceback (most recent call last): File "makeimage.py", line 121, in <module> weather = fetch...

Admin

如何使用 nftables 绕过单个 docker 容器的 vpn 隧道?
nftables

如何使用 nftables 绕过单个 docker 容器的 vpn 隧道?

我正在尝试提出一个解决方案来绕过传入和传出的 docker 容器中的 vpn 隧道。 我使用的 VPN 是 Mullvad VPN,在隧道分割段他们已经解决了如何排除某些 IP 的传出流量的问题。这对我的 Docker 容器不起作用,因为我的容器的流量是通过 Mullvad VPN 创建的隧道路由的。 这是我的 nftables 配置: define EXCLUDED_IPS = { # An ip to bypass 1.2.3.4, } define CONTAINER_IPS = { # Local Proxy 10.10.5....

Admin

当 IPv6 前缀是动态时,如何创建接受来自同一 IPv6 子网的连接的 nftables 规则?
nftables

当 IPv6 前缀是动态时,如何创建接受来自同一 IPv6 子网的连接的 nftables 规则?

对于 IPv4,很容易创建一条规则,只接受来自同一子网主机的连接,例如(假设我的计算机是192.168.42.2,传入连接是192.168.42.20): table ip firewall { chain incoming { type filter hook input priority 0; policy drop; ip saddr 192.168.42.0/24 tcp dport 8080 accept } } 对于 IPv6,如何做到这一点?我知道总是有链路本地地址,理论上有这个规则应该工作: ...

Admin

nftables:如何在接受判决后停止进一步的链遍历
nftables

nftables:如何在接受判决后停止进一步的链遍历

语境 :https://wiki.nftables.org/wiki-nftables/index.php/Configuring_chains 如果数据包被接受,并且存在另一个具有相同钩子类型且优先级更高的链,则数据包随后将遍历该链。因此,接受裁决(无论是通过规则还是默认链策略)不一定是最终裁决。但是,对于受到丢弃裁决的数据包,情况并非如此。相反,丢弃会立即生效,无需评估其他规则或链。 我希望不同的项目模块拥有各自的表和链,例如,firewalld 有自己的表。我想要我的表,每个表将由单独的团队/模块维护。来自该表的链中可以有重复的规则。现在我认为大多数时...

Admin

使用 iptables-nft/ebtables-nft 拦截网桥上特定的转发/桥接 IP 数据包并将其重定向到网桥设备本身
nftables

使用 iptables-nft/ebtables-nft 拦截网桥上特定的转发/桥接 IP 数据包并将其重定向到网桥设备本身

对于使用 eth0 和 wlan0 作为桥接端口的桥接器 br0,以前可以使用 拦截到达桥接端口的数据包iptables -t mangle -A PREROUTING -m physdev --physdev-in wlan0 --protocol udp --destination-port 53 -j REDIRECT。 由于 iptables 现在默认由 iptables-nft 取代,因此使用-m physdev不再有效。 类似ebtables -t broute -A BROUTING -i wlan0 -p ipv4 --ip-proto UD...

Admin