OpenvpnクライアントはLANにアクセスできません

OpenvpnクライアントはLANにアクセスできません

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 に接続されていました。スイッチ レイヤー 3 はファイアウォール (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 を実行できるはずです。

デバッグを高速化するには、shorewall を無効にすることができます。ちなみに、ファイアウォール ルールを確認してください。VPN TUN インターフェイスから LAN への転送、およびその逆を有効にする必要があります。

IPTables の使い方は次のようになります。

# iptables -A FORWARD -i tun+ -o eth1 -j ACCEPT
# iptables -A FORWARD -i eth1 -o tun+ -j ACCEPT

tun+ は「任意の tun」の略で、実際の tun デバイスを使用する必要があります。ifconfig で確認してください。

関連情報