OpenVPN:クライアントはサーバーに接続されていますが=ファイアウォールですが、LAN内のデータベースにアクセスできません。
5つのVLANがあります。
vlan 2: 192.168.12.0/24
vlan 3: 192.168.13.0/24
vlan 4: 192.168.14.0/24
vlan 5: 192.168.15.0/24
vlan 6: 192.168.100.0/24
すべてのLANはスイッチCisco 3650レイヤ3に接続されます。 Switch Layer3接続ファイアウォール(CentOS 6.2にはSquidとShorewall 4がインストールされています)
ファイアウォールには、eth0:172.16.1.101がモデム:172.16.1.1に接続され、eth1:192.168.99.99がスイッチレイヤ3:192.168.99.100に接続されています。
VPN クライアントが接続されており、IP クラスは 192.168.10.0/24 です。現在、LANからインターネットへのすべてのトラフィックは問題なく正常です。
クライアントがopenvpnを使用してサーバーに正常に接続したが、LAN上のコンピュータにpingを送信またはアクセスできない場合。私は何が間違っていましたか?
ベストアンサー1
ルーティングまたはファイアウォールの問題かもしれません。まず、VPNクライアントがサーバー/ファイアウォールをpingできることを確認する必要があります。 eth1およびtun1アドレスをpingできることを確認してください。
これらの検証が失敗した場合、パスが欠落している可能性があります。おそらく、openVPNはクライアントが内部サブネットへのルートを確立することを強制しないかもしれません。
クライアントはLinuxクライアントであると仮定して実行し、リモートroute -n
LAN用のゲートウェイがあることを確認する必要があります。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
...
192.168.99.0 192.168.10.## 255.255.255.0 UG 0 0 0 tun1
...
192.168.10.## は、サーバー/ファイアウォールの tun1 インターフェース・アドレスでなければなりません。
ルーティングがある場合は、少なくともtun1 ifaceアドレスにpingを送信できる必要があります。
より速いデバッグのために海岸壁を無効にすることができます。ファイアウォールルールを確認する必要があるように、VPN tunインターフェイスからLANへ、またはその逆に転送を有効にする必要があります。
IPTableの使用方法は次のとおりです。
# iptables -A FORWARD -i tun+ -o eth1 -j ACCEPT
# iptables -A FORWARD -i eth1 -o tun+ -j ACCEPT
tun+ は「any tun」を意味するため、実際の tun デバイスを使用して ifconfig で確認する必要があります。