私は 2 つの VPS を取得しました。最初の VPS には OpenVPN があり、VPN から 2 番目の VPS の eth1 にアクセスする必要があります。
VPS No.1
- eth0-WAN xxx.xxx.19.106
- eth1-LAN 10.108.0.2/20
- tun0 - OpenVPN 10.8.0.1/24
VPS N°2
- eth1-LAN 10.108.0.3/20
VPS N°1 の iptables 構成を知る必要があります。そうすれば、openVPN (tun0-10.8.0.1/24) から 2 番目の VPS の eth1-LAN 10.108.0.3/20 にアクセスできます。OpenVPN に接続されたコンピューターから 2 番目の VPS に SSH 接続しようとしていますが、できません。ただし、1 番目の VPS に SSH 接続し、コンソールから 2 番目の VPS に SSH 接続するとアクセスできます。
SSH (ポート22)
eth1-LAN (10.108.0.2/20) => eth1-LAN (10.108.0.3/20)......動作中
SSH (ポート22)
tun0-OpenVPN (10.8.0.1/24) => eth1-LAN (10.108.0.3/20)......ない働く
ありがとう、アルトゥルビオ
答え1
OpenVPN インターフェイス (tun0) から 2 番目の VPS の LAN インターフェイス (eth1) への SSH アクセスを許可するには、最初の VPS で iptables を設定して、OpenVPN インターフェイスから LAN インターフェイスにトラフィックを転送する必要があります。これを実現するために使用できる iptables コマンドは次のとおりです。
iptables -A FORWARD -i tun0 -o eth1 -d 10.108.0.3/20 -p tcp --dport 22 -j ACCEPT - このコマンドは、宛先 IP が 10.108.0.3/20 の範囲内にあり、宛先ポートが 22 (SSH 用) の場合に、OpenVPN インターフェイス (tun0) から 2 番目の VPS の LAN インターフェイス (eth1) へのトラフィックを許可するルールを FORWARD チェーンに追加します。
iptables -A FORWARD -i eth1 -o tun0 -s 10.108.0.3/20 -p tcp --sport 22 -j ACCEPT - このコマンドは、送信元 IP が 10.108.0.3/20 の範囲内にあり、送信元ポートが 22 (SSH 用) の場合に、2 番目の VPS の LAN インターフェイス (eth1) から OpenVPN インターフェイス (tun0) へのトラフィックを許可するルールを FORWARD チェーンに追加します。
iptables -A POSTROUTING -t nat -o eth1 -s 10.8.0.0/24 -j SNAT --to-source 10.108.0.2 - このコマンドは、POSTROUTING チェーンにルールを追加し、パケットが eth1 インターフェイスから送信される前に、パケットの送信元 IP アドレスを最初の VPS の eth1 インターフェイスの IP アドレス (10.108.0.2) に変更できるようにします。これにより、パケットは最初の VPS の IP から送信されたように見えます。
iptables -A INPUT -i tun0 -p tcp --dport 22 -j ACCEPT - このコマンドは、tun0インターフェース上のSSHトラフィックの受信を許可するルールをINPUTチェーンに追加します。
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT - このコマンドは、eth1インターフェース上のSSHトラフィックの受信を許可するルールをINPUTチェーンに追加します。
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT - このコマンドは、eth0インターフェース上のSSHトラフィックの受信を許可するルールをINPUTチェーンに追加します。
iptables -A INPUT -i lo -j ACCEPT - このコマンドは、ループバックインターフェース上の着信トラフィックを許可するルールをINPUTチェーンに追加します。
iptables -P INPUT DROP および iptables -P FORWARD DROP および iptables -P OUTPUT DROP - これらのコマンドは、INPUT、FORWARD、および OUTPUT チェーンのデフォルト ポリシーを DROP に設定します。つまり、以前のルールのいずれにも一致しないトラフィックはすべてドロップされます。
これらのルールを再起動後も維持するには、iptables-save コマンドと iptables-restore コマンドを使用する必要があります。