openvpnクライアントを内部LANに接続してhttpサーバーにアクセスしようとしています。 pfSenseと私のhttpサーバーが私のホームproxmoxノードの仮想マシンで実行されています。どちらも単純なLinuxブリッジを介して接続され、pfsenseはdhcpサーバーとして機能します。
pfSense VMでは、世界中のクライアントが接続できるようにopenvpnも設定しました。 (ポートフォワーディングなど...)
ネットワークpfSense LAN:10.44.2.0/24(pfSense 10.44.2.254 gw)ネットワークOpenVPN:10.44.3.0/24(サーバー10.44.3.1はクライアント間を許可しません)
すべてのルーティングがうまく機能しています。 LAN から VPN へ、または VPN から LAN へ Ping を送信できます。どちらも正常に動作します。 TCPだけは機能しません。
10.44.3.2(VPN)から[10.44.2.11(LAN)まで] httpsサーバーに接続しようとすると、サーバーの接続状態は「SYN_RECV」で、クライアントには「SYN_SENT」と表示されます。
私が知っているところによると、2番目のステップ(SYN、ACK)が失敗したようです。 pfSenseファイアウォール全体を完全に無効にしましたが、機能しません。
その後、ネットワークトラフィックを記録します。
仕える人:
14:18:57.571985 IP 10.44.3.2.42956 > 10.44.2.11.http: Flags [S], seq 3192289577, win 29200, options [mss 1308,sackOK,TS val 3098827 ecr 0,nop,wscale 7], length 0
14:18:57.572006 IP 10.44.2.11.http > 10.44.3.2.42956: Flags [S.], seq 2421464031, ack 3192289578, win 28960, options [mss 1460,sackOK,TS val 68259688 ecr 3098827,nop,wscale 7], length 0
14:18:57.825934 IP 10.44.3.2.42958 > 10.44.2.11.http: Flags [S], seq 2213274578, win 29200, options [mss 1308,sackOK,TS val 3098889 ecr 0,nop,wscale 7], length 0
14:18:57.825952 IP 10.44.2.11.http > 10.44.3.2.42958: Flags [S.], seq 595037825, ack 2213274579, win 28960, options [mss 1460,sackOK,TS val 68259752 ecr 3098889,nop,wscale 7], length 0
. . . . .
顧客:
15:18:57.567020 IP 10.44.3.2.42956 > 10.44.2.11.http: Flags [S], seq 3192289577, win 29200, options [mss 1460,sackOK,TS val 3098827 ecr 0,nop,wscale 7], length 0
15:18:57.570249 IP 10.44.2.11.http > 10.44.3.2.42956: Flags [S.], seq 2421464031, ack 3192289578, win 28960, options [mss 1308,sackOK,TS val 68259688 ecr 3098827,nop,wscale 7], length 0
15:18:57.817649 IP 10.44.3.2.42958 > 10.44.2.11.http: Flags [S], seq 2213274578, win 29200, options [mss 1460,sackOK,TS val 3098889 ecr 0,nop,wscale 7], length 0
15:18:57.835985 IP 10.44.2.11.http > 10.44.3.2.42958: Flags [S.], seq 595037825, ack 2213274579, win 28960, options [mss 1308,sackOK,TS val 68259752 ecr 3098889,nop,wscale 7], length 0
15:18:58.567001 IP 10.44.3.2.42956 > 10.44.2.11.http: Flags [S], seq 3192289577, win 29200, options [mss 1460,sackOK,TS val 3099077 ecr 0,nop,wscale 7], length 0
15:18:58.568639 IP 10.44.2.11.http > 10.44.3.2.42956: Flags [S.], seq 2421464031, ack 3192289578, win 28960, options [mss 1308,sackOK,TS val 68259938 ecr 3098827,nop,wscale 7], length 0
15:18:58.570778 IP 10.44.2.11.http > 10.44.3.2.42956: Flags [S.], seq 2421464031, ack 3192289578, win 28960, options [mss 1308,sackOK,TS val 68259938 ecr 3098827,nop,wscale 7], length 0
15:18:58.815006 IP 10.44.3.2.42958 > 10.44.2.11.http: Flags [S], seq 2213274578, win 29200, options [mss 1460,sackOK,TS val 3099139 ecr 0,nop,wscale 7], length 0
. . . .
tcpの最初のステップは正常に動作しているようです。その後、SYNとACKを送信しましたが、ACKパケットが見つかりませんでした。
私が言ったように、pingはうまくいくので、ルーティングは大丈夫です。
どんなアイデアがありますか? !
答え1
pfsenseのネットワークインターフェースをVIRTIOからE1000に変更することで問題を解決しました。
ProxmoxのVIRTIOドライバのために一部のパッケージが欠落しているようです。
答え2
この問題は pfSense とは関係ありません。
実際の理由は、VirtioドライバのハードウェアオフロードがBSDでサポートされていないか破損しているようです。 E1000に戻す必要はありません。
行く システム->詳細->ネットワーク タグ設定:ハードウェアチェックサムオフロードの無効化
設定を保存するとすぐに通信が始まります。再起動も必要ありません。