有人能帮我确保我的 VPS 接受所有到 1.1.1.1/30(示例 IP)的流量并将其转发到我的 pfSense 实例吗?
我有以下设置:
- 我有一个 VPS,具有可公开路由的 /32 IPv4(假设为 1.2.3.4/32)以及可公开路由的 /30 IPv4(假设为 1.1.1.1/30)
- 1.2.3.4/32 是接口上的 IP
ens18
,我的 ISP 通过同一接口路由 1.1.1.1/30 子网 - 当我将 1.1.1.1/30 内的任何 IP 添加到
lo
或ens18
接口时,这些 IP 都是可公开访问的(可 ping 通) ovpnc3
我的家庭防火墙(基于 FreeBSD 的 pfSense)通过 OpenVPN tap(接口)连接到 VPS- 我在VPS上添加了静态路由:
ip route add 1.1.1.1/30 dev tap0
sysctl net.ipv4.ip_forward=1
在 VPS 上设置- 我在VPS上添加了以下防火墙规则:
-
iptables -I FORWARD -s 0.0.0.0/0 -d 1.1.1.1/30 -j ACCEPT
-
iptables -I FORWARD -s 1.1.1.1/30 -d 0.0.0.0/0 -j ACCEPT
VPS 在 Debian 11(bullseye)上运行,家庭防火墙在 pfSense 23.05.1-RELEASE(FreeBSD 14.0)上运行
我目前取得的成就:
- 当我将 1.1.1.1/32 作为别名添加到接口时,我会通过 VPS(通过 SSH)从 pfSense
ovpnc3
获得回复arping
ping
- 通过 pfSense 实例上的物理接口进行 ping 操作同样有效
- 但来自外界(公共互联网)的传入流量导致 100% 的数据包丢失
我想要实现的目标:
- 所有到整个 1.1.1.1/30 的流量都应通过 OpenVPN 隧道转发到 pfSense
谢谢!