dnat

来自本地主机的 DNAT(127.0.0.1)
dnat

来自本地主机的 DNAT(127.0.0.1)

我想在 Linux 3.x(目前为 3.2.52,但如果需要我可以升级)上设置从 127.0.0.1、端口 4242 到 11.22.33.44、端口 5353 的 TCP DNAT。 看起来简单的 DNAT 规则设置不起作用,telnet 127.0.0.1 4242挂起一分钟Trying 127.0.0.1...,然后超时。可能是因为内核正在丢弃返回的数据包(例如 SYN+ACK),因为它认为它们是火星的。我不需要解释为什么简单的解决方案不起作用,我需要一个解决方案,即使它很复杂(例如它涉及创建许多规则)。 我可以从网络外的另一个本地 IP 地址设置...

Admin

iptables:DNAT 之前过滤
dnat

iptables:DNAT 之前过滤

iptables -t filter -A OUTPUT -d 1.2.3.4 -j DROP iptables -t nat -A OUTPUT -p tcp -m owner --uid-owner abc -j DNAT --to 127.0.0.1:121 第一条规则不起作用,因为 nat 在过滤之前进行处理。有什么办法可以绕过它吗? ...

Admin

将公共 IP NAT 到多个私人 IP
dnat

将公共 IP NAT 到多个私人 IP

我有一个带有两个接口的 Linux 机箱,一个接口的 ip 为 10.10.18.2,另一个接口的 ip 别名为 192.168.1.2,192.168.1.3。 一台 xen 主机通过交换机与 ip 10.10.18.3 和网关 10.10.18.2 相连。 在 Xen 主机上,2 个虚拟机正在运行,其 IP 为 10.10.18.43 和 10.10.18.44,网关为 10.10.18.3(xen 主机的网关)。 要求: 将 192.168.1.0/24 NAT 到相应虚拟机的 10.10.18.0。 如果我做 DNAT;即,每个以 192.1...

Admin

Squid 返回无效 URL
dnat

Squid 返回无效 URL

我有一个与 wireguard 隧道一起运行的 squid 实例。客户端流量通过 wireguard 隧道代理: 客户端 -> (网关 wireguard) -> (wireguard + squid) 网关 wireguard 具有 iptables 规则,用于 DNAT 到(wireguard + squid)实例: iptables -t nat -A PREROUTING -p tcp --dport 80 -i wg+ -j DNAT --to 10.13.13.3:4128 iptables -t nat -A PREROUTING ...

Admin

UDP 流量 DNAT 未按预期返回
dnat

UDP 流量 DNAT 未按预期返回

我正在寻找以下情况的解决方案。 有一台服务器 1,其公共接口为 eth0,IP 为 33.33.33.33,GRE 接口为 10.10.10.1,GRE 隧道指向第二台服务器 2,其公共接口为 44.44.44.44,GRE 接口为 10.10.10.2。 服务器1配置: ip_wan:33.33.33.33 ip_gre:10.10.10.1 ip tunnel add gre1 mode gre 本地 33.33.33.33 远程 44.44.44.44 ttl 255 ip addr add 10.10.10.1/30 dev gre1 ip ...

Admin

使用 CSF 防火墙是否可以透明地转发 IP 流量?
dnat

使用 CSF 防火墙是否可以透明地转发 IP 流量?

在 /etc/csf/csf.redirect 中 10.100.100.115|*|10.200.200.186|*|tcp 10.100.100.115|*|10.200.200.186|*|udp 我有以下配置,现在当我连接到https://10.100.100.115/(nginx+php) 使用脚本<?php echo $_SERVER['REMOTE_ADDR'];?>我可以看到服务器 IP,是否可以使用客户端 IP 重新路由?例如,我从我的家庭 IP 连接,假设是 10.0.50.50,它会显示 10.0.50.50 而不是重定...

Admin

nftables:具有动态 IP 的发夹/环回 NAT
dnat

nftables:具有动态 IP 的发夹/环回 NAT

我有一台 Debian 12 服务器(公共 IP85.xxx.xxx.xxx为enp6s0),它在网桥上运行一堆 LXC 容器cbr0。 由于公共 IP 是动态的,因此我必须设置forward+prerouting规则,dnat以便传入请求到达容器。例如,端口 80/443 被指定给容器10.10.0.1。以下是我的nftables规则: flush ruleset table inet filter { chain input { type filter hook input priority 0; policy drop; ct ...

Admin

Nftables DNAT 从外部到内部接口以及 Web 服务器绑定到的不同端口,如何使用?
dnat

Nftables DNAT 从外部到内部接口以及 Web 服务器绑定到的不同端口,如何使用?

有多宿主 Ubuntu 22.04:内部 192.168.0.99/24 外部 12.12.12.12/29(例如)也充当网关。所有(包括从服务器以及从后面的 Lan 访问互联网)均有效,即 IP 转发已打开,SNAT 已设置。我确实设置了 SNAT,因为有静态外部 IP。 Web 服务器仅与内部接口 85 端口绑定。未与外部端口绑定! 需要从 Internet 到 Web 服务器进行外部访问,使用外部端口 40000。 为此我做了以下事情: nft add rule ip nat prerouting iif ext counter goto extpre...

Admin

iptables 预路由 DNAT
dnat

iptables 预路由 DNAT

服务器 1:192.168.0.1 服务器2:192.168.0.2 服务器3:192.168.0.3 服务器 2 可以通过端口 1521 访问服务器 3,任务是从服务器 1 -> 服务器 2:5501 -> 服务器 3:1521 进行端口转发 在 Server2 上我执行以下设置: echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp --dport 5501 \ -j DNAT --to-destination 192...

Admin

Mikrotik 路由器上 tcp/80 端口的 DST-NAT
dnat

Mikrotik 路由器上 tcp/80 端口的 DST-NAT

我正在尝试将传入流量重定向到 Mikrotik 路由器公共 IP 接口的 tcp/80 到具有反向代理的内部服务器。 无论我做什么,NAT 规则都无法在 tcp/80 作为目标端口的情况下工作。如果我将其更改为 tcp/8080 或任何其他端口,它就会开始工作。 使用 tcp/80 作为目标端口,看起来数据包可以到达目标机器,但回复却无法返回。 /ip firewall filter print Flags: X - disabled, I - invalid, D - dynamic 0 D ;;; special dummy rule to sho...

Admin

iptables 规则 - 使用 nat 表转发/伪装服务
dnat

iptables 规则 - 使用 nat 表转发/伪装服务

我需要在iptables如下配置的网络(docker 容器)上完成一个练习: router具有 2 个网络接口(eth0 <- public 10.9.0.0/24;;两个网络上eth1 <- lan 192.168.60.0/24的)的主机和一个默认端口 22 上的 SSH 服务器;routerx.x.x.254 一个IP 为 的jumpbox主机,在默认端口 22 和 23 上使用 SSH 和 TELNET;lan192.168.60.10 admin具有publicIP 的主机10.9.0.2。 jumbox我们收到的请求之一是通过转发...

Admin

smb 端口上的 iptables DNAT 失败,命中 PREROUTING,但未命中 POSTROUTING
dnat

smb 端口上的 iptables DNAT 失败,命中 PREROUTING,但未命中 POSTROUTING

我运行的是 Ubuntu 20.04。它通过将指向本地计算机端口 8080 的 http 请求转发到另一台计算机的端口 80 来正常工作。但是当我设置 iptables 规则以将指向本地计算机的 smb 请求转发到运行 smb 服务器的另一台计算机时,它失败了。只有 PREROUTING 中命中,但没有 POSTROUTING。iptables 命令如下: sudo iptables -t nat -A PREROUTING -p tcp --match multiport --dports 445,137,138,139 -j DNAT --to-dest...

Admin

将 UDP 数据包转发到另一个 IP 上的虚拟机
dnat

将 UDP 数据包转发到另一个 IP 上的虚拟机

我通过路由器连接到互联网,并且想要将端口 3000 上的 UDP 数据包路由到 KVM 内的 VM。 ┌──────────────────┐ │ router │ │ 54.0.0.1 (public)│ │ 192.168.0.1 │ └────────┬─────────┘ │ │ ┌──────▼──────┐ │ pc │ │ 192.168.0.2 │ │ 10.0.0.1 │ │ ┌────────┐ │ │ │vm ...

Admin

iptables 双向 nat udp 配置用于多个源
dnat

iptables 双向 nat udp 配置用于多个源

我有以下设置,所有 udp 数据包: 客户端 (42.123.124.125) -> (42.123.0.125) nat_server (192.168.2.2) -> (192.168.2.5) udp_service nat_server 必须通过公共 IP 接收来自客户端的传入 udp,并通过专用网络将数据包重定向到 udp_service。然后,它必须将来自 udp_service 的所有响应重定向回客户端。 客户端协商连接到特定端口(4244),然后在其随机 udp 端口​​上接收数据。 该流程可以用 tcpdump 来描述。协商: ...

Admin

使用 iptables 将传出的 dns 查询重定向到本地主机
dnat

使用 iptables 将传出的 dns 查询重定向到本地主机

问题 有些传出TCP我无法控制我的 Ubuntu 服务器中的 DNS 请求由 127.0.0.1:53 上的 Unbound 解析,它使用 208.67.222.222 来解析所有请求,我看到那些 TCP DNS 数据包最终从我的公共 IP 地址传输到著名的 DNS 服务器,例如 8.8.8.8 和 1.1.1.1。 我做了什么 ipset -N myipset iphash ipset -A myipset 127.0.0.1 ipset -A myipset 208.67.222.222 iptables -t nat -D OUTPUT -m udp...

Admin