You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助:通过OpenVPN Tap接口将指定公网子网流量转发至pfSense防火墙

请求协助:通过OpenVPN Tap接口将指定公网子网流量转发至pfSense防火墙

看起来你已经搭好了基础框架,内部能通说明OpenVPN隧道和基本路由逻辑是正常的,外部流量丢包大概率是Linux反向路径过滤、iptables规则细节,或者pfSense那边的子网配置问题,咱们一步步来排查修复:

一、先解决VPS上的反向路径过滤问题

Debian默认开启了严格的反向路径过滤(rp_filter=1),这会导致Linux丢弃那些“看起来来路不正”的流量——比如目标IP不是本机接口配置的公网子网流量,很可能被判定为伪造数据包丢掉。

  1. 临时生效(测试用):
    在VPS上执行:
    sysctl -w net.ipv4.conf.all.rp_filter=0
    sysctl -w net.ipv4.conf.ens18.rp_filter=0
    sysctl -w net.ipv4.conf.tap0.rp_filter=0
    
  2. 永久生效(重启后保留):
    编辑/etc/sysctl.d/99-custom-routing.conf(如果文件不存在就新建),添加以下内容:
    net.ipv4.conf.all.rp_filter=0
    net.ipv4.conf.ens18.rp_filter=0
    net.ipv4.conf.tap0.rp_filter=0
    net.ipv4.ip_forward=1  # 顺便把转发配置也写在这里,避免丢失
    
    然后执行sysctl --system加载新配置。

二、细化iptables转发规则,明确接口方向

你现有的FORWARD规则是通配所有接口的,可能会有潜在的干扰,改成明确指定接口的规则会更稳妥:

# 允许外部流量从ens18进入,转发到tap0(指向pfSense)
iptables -I FORWARD -i ens18 -o tap0 -d 1.1.1.1/30 -j ACCEPT
# 允许pfSense返回的流量从tap0进入,转发到ens18出去
iptables -I FORWARD -i tap0 -o ens18 -s 1.1.1.1/30 -j ACCEPT
# (可选)如果需要测试ping,临时放行INPUT链的目标子网流量(避免VPS本地进程拦截)
iptables -I INPUT -d 1.1.1.1/30 -j ACCEPT

执行完后可以用iptables -L FORWARD -v查看规则是否生效。

三、检查pfSense的子网配置与防火墙规则

  1. 确保pfSense接管整个1.1.1.1/30子网:
    在pfSense的ovpnc3(OpenVPN Tap接口)配置里,直接把接口IP设置为1.1.1.1/30(或者该子网内的任意IP),然后添加别名包含整个子网,这样pfSense才会认为这个子网属于自己,会响应相关流量。
  2. 配置pfSense的入站规则:
    进入pfSense的防火墙 > 规则 > ovpnc3,添加一条允许所有来源(或者你需要的特定流量)到1.1.1.1/30子网的入站规则,确保流量能进入pfSense。
  3. 验证pfSense的路由表:
    进入诊断 > 路由表,确认1.1.1.1/30的路由是指向ovpnc3接口的(如果接口配置了该子网IP,路由会自动生成)。

四、排查OpenVPN Tap的二层转发设置

如果是VPS作为OpenVPN服务器,pfSense作为客户端,确保服务器端的server.conf里有以下配置,允许二层流量自由转发:

dev tap0
client-to-client
# 如果需要固定tap接口的MAC地址,可选配置
# dev-node tap0

重启OpenVPN服务生效:systemctl restart openvpn@server

五、测试与验证

  1. 先在VPS上测试:ping -I tap0 1.1.1.2(假设pfSense在ovpnc3上的IP是1.1.1.2),确保能通。
  2. 用外部机器(比如手机4G网络)ping1.1.1.2,如果还是不通,在VPS上抓包分析:
    tcpdump -i ens18 host 1.1.1.2
    
    看是否能收到外部的ping包,如果能收到但没转发到tap0,说明iptables或路由有问题;如果收不到,那可能是ISP的路由配置没生效(需要联系ISP确认1.1.1.1/30确实路由到了你的VPS 1.2.3.4)。

备注:内容来源于stack exchange,提问作者misak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 12:23:00