VPNを介して接続する孤立したネットワークにLinuxボックスがあります。 VPN を使用すると、VPN サーバーは 192.168.251.x などの仮想 IP を割り当てます。
VPNを使用すると、問題なくRDPを介してWindowsボックスに接続できることがわかりました。 Ping、http、rdpなどがすべて機能します。ただし、Linuxボックスにはすぐにアクセスできません。実際、LinuxシステムにSSH経由で接続する前に、隔離されたネットワーク上のコンピュータでRDPを実行する必要がありました。
これは、Linuxボックスが既にローカルサブネットにあるデバイスからのトラフィックのみを許可し、外部デバイスに起動する仮想VPNサブネットからのトラフィックを許可するように指示する必要があることを示します。
私はこのルールを試してみました。
sudo iptables -A INPUT -p tcp -s 192.168.251.0/24 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
そのうち192.168.251.0/24が仮想VPNサブネットです。ただし、まだ接続されているホストでLinuxシステムをpingすることはできません。だから、間違ったルールを追加したか、間違って追加しました。どのようなヒントや指示がありますか?
user@HOST:~> uname -a
Linux HOST 3.0.51-0.7.9-default #1 SMP Thu Nov 29 22:12:17 UTC 2012 (f3be9d0) x86_64 x86_64 x86_64 GNU/Linux
user@HOST:~> cat /proc/version Linux
version 3.0.51-0.7.9-default (geeko@buildhost) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) ) #1 SMP Thu Nov 29 22:12:17 UTC 2012 (f3be9d0)
誤ったルールを追加したか、欠落しているルールがありますか?
編集する:
私の現在のiptables:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 192.168.251.0/24 anywhere ctstate NEW,ESTABLISHED
また、icmpおよびhttp / sトラフィックのパケットキャプチャには、VPNクライアントからLinuxコンピュータへのトラフィックが表示されますが、Linuxコンピュータから返されるトラフィックは表示されません。 「間違ったXXX」のような答えもありません。私の記憶が正しい場合、これはトラフィックが減少していることを示します。
編集する:
user@HOST:~> ip route sh
127.0.0.0/8 dev lo scope link
169.254.0.0/16 dev eth0 scope link
192.168.20.0/24 dev eth0 proto kernel scope link src 192.168.20.219
user@HOST:~> sudo iptables --list
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere 192.168.251.0/24 ctstate ESTABLISHED
編集する:
私の解決策は以下を実行することです。
sudo ip route add default via 192.168.20.1
その後、VPNを介してボックスにPingとTelnetを直接送信できます。
答え1
Linuxボックスは、VPNネットワークに戻るための有効なパスがないため、戻りパケットを破棄します。
ゲートウェイがにあると仮定すると、192.168.20.1
これをLinuxシステムのデフォルトパスとして追加すると、問題が解決される可能性があります。
ip route add default via 192.168.20.1