最初に、LAN組織について説明します。私は2つのネットワークを持っています(スキーム http://take.ms/s3CSy ):
2番目のLANには、Debian LinuxとPPTP VPNクライアントがインストールされているWebサーバーがあります。PPTPクライアントは最初のLANのルーターに接続され、IP172.16.0.11を取得します。 。pptpクライアントに接続した直後に、2つのルートを追加します。
ip route add 172.16.0.0/24 dev ppp0
ip route add 192.168.0.0/24 dev ppp0
したがって、VPNクライアント(Webサーバー)でテーブルをルーティングします。
root@system:~# ip route
default via 192.168.2.1 dev eth0
1.2.3.4 via 192.168.2.1 dev eth0 src 192.168.2.3
172.16.0.0/24 dev ppp0 scope link
172.16.0.1 dev ppp0 proto kernel scope link src 172.16.0.11
192.168.0.0/24 dev ppp0 scope link
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.3
Webサーバーでは、「iptables -L -v-n」は空のテーブルを表示します。
VPNサーバー(ASUS RT-N65Uルーター)のルートテーブル:
/home/root # ip route
default via 2.3.4.5 dev ppp0
2.3.4.5 dev ppp0 proto kernel scope link src 1.2.3.4
127.0.0.0/8 dev lo scope link
172.16.0.12 dev ppp10 proto kernel scope link src 172.16.0.1
192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.1
192.168.2.0/24 dev ppp10 scope link
ルーターASUSRT-N65Uでは、ドメインhome.example.comのDynDNSもアクティブにしています。および2ポート転送設定:
1. Synology NAS web remote access: Remote port 6667, local IP: 192.168.0.2, local port 5000, Protocol BOTH (TCP & UDP)
2. Web server remote access: Remote port 6668, local IP: 192.168.2.3, local port 80, Protocol BOTH (TCP & UDP)
最初のLANでラップトップからWebサーバー(URL http _ // 192.168.2.3:80)にアクセスしようとすると、問題ありません。すべてが魅力のように機能します。
しかし、別のラップトップ(スキームのラップトップ#2)からWebサーバー(URL http _ // 1.2.3.4:6668)にアクセスしようとすると、ページが見つかりません。 Synologyにアクセスしようとしても問題ありません。
Webサーバーにtcpdumpをインストールし、パケットをキャプチャしました。
Webサーバーにインストールされたiptstateで、リモートサーバーからの接続を示します。
Source Destination Prt State TTL
199.58.86.207:58540 192.168.2.3:80 tcp SYN_RECV 0:00:59
問題はどこだ?
たぶんここにルートの問題があります。リモートサーバーからのパケットはVPN接続ルートで送信されますが、デフォルトでは(192.168.2.1経由で)送信されますか?
問題はWebサーバー上のルートにありました:
テスト用に、ppp0インターフェイスを介して199.58.86.0/24に追加されたルートと、ページが正常に開かれました。