传入数据包未传递到套接字

传入数据包未传递到套接字

我有一个 VPN 应用程序,它通过 tcp 套接字连接到 VPN 服务器。我已经用setsockopt和标记了 TCP 套接字数据包SO_MARK。我可以ping 10.0.0.1成功ping VPN 网关。
然后我尝试通过 VPN 路由我的全部流量。我创建一个不同的表并使用ip route add default via 10.0.0.1 dev tun0 table 200和添加默认网关ip rule add lookup 200
但随后VPN自己的数据包开始通过VPN。我运行ip rule add fwmark 1234 lookup mainvpn自己的数据包被排除在vpn之外。我可以通过 tcpdump 看到它们,eth0并且 VPN 服务器正在应答它们。但是传入的数据包不会传递到 tcp 套接字。内核似乎正在放弃它们。为什么?

相关内容