Linuxサーバー[〜#〜] a [〜#〜]に5つのパブリックIPアドレスのブロック8.8.8.122/29
があります。現在、8.8.8.122
はeth0
に割り当てられており、8.8.8.123
はeth0:1
に割り当てられています。
別のLinuxマシン[〜#〜] b [〜#〜]が、NATの背後にあるリモートの場所にあります。 [〜#〜] b [〜#〜]がIPアドレス8.8.8.123
をプライマリIPアドレスとして使用できるように、2つの間にトンネルを設定したいと思います。
おそらくOpenVPNが答えですが、設定方法がよくわかりません(topology subnet
またはtopology p2p
が適切かもしれません。または、イーサネットブリッジを使用する必要がありますか?)。この時点ではセキュリティと暗号化は大きな問題ではないため、GREも問題ありません-machine [〜#〜] b [〜#〜]は既知のIPアドレスから取得され、それに基づいて認証されます。
これどうやってするの?この状況で機能するOpenVPN構成やその他のアプローチを誰かが提案できますか?理想的には、複数のクライアントを処理する(たとえば、4つのスペアIPをすべて他のマシンと共有する)ことができ、それらのクライアントに資格のないIPを使用させることはできません。
結局、イーサネットブリッジを使用しました。オンラインを通り抜けるための非常に冗長な例がたくさんありますが、それはかなり簡単です:
まず、[〜#〜] a [〜#〜]、/etc/network/interfaces
は以下から変更されました:
auto eth0
iface eth0 inet static
address 8.8.8.122
netmask 255.255.255.248
gateway 8.8.8.121
に:
auto br0
iface br0 inet static
address 8.8.8.122
netmask 255.255.255.248
gateway 8.8.8.121
pre-up openvpn --mktun --dev tap0
bridge_ports eth0 tap0
bridge_fd 3
ブリッジするためにeth0
(実際のWANインターフェース)with tap0
(新しいトンネルインターフェース)起動時。
次に、[〜#〜] a [〜#〜]で、openvpnサーバーを実行します。
openvpn --dev tap0
[〜#〜] b [〜#〜]の場合は、次のように接続します。
openvpn --remote 8.8.8.122 --dev tap0 --route-gateway 8.8.8.121 \
--redirect-gateway def1 --ifconfig 8.8.8.123 255.255.255.248
それは私が探していたsuper simple configであり、動作します[〜#〜] b [〜#〜]は、 8.8.8.123、および発信接続は同じアドレスから発信されます。
セキュリティを追加(--secret
、--tls-server
など)もちろん必要に応じて。
あなたは私が思うに苦労するでしょう。ほとんどのファイアウォールは、VPNの両側が同じサブネットにある場合、OpenVPNトラフィックのルーティングが困難になります。
パブリックアクセスにルーティングする場合は、両方のサーバーをパブリックアドレスから別のサブネットに移動し、仮想IP(1から1 Nat)を使用してそれらを接続します。 2つのサイトを接続するには、OpenVPNまたはIP-Secトンネルが機能します。
仮想IP: http://doc.pfsense.org/index.php/What_are_Virtual_IP_Addresses%3F
サイト間: http://doc.pfsense.org/index.php/VPN_Capability_IPsec
コメントに基づいて編集:
私は個人的にAボックスにpfSenseをインストールし、WANに必要なポートを割り当てます。次に、ローカルサブネット上にOpenVPNサーバーをセットアップし(これはすべてpfSense Webインターフェイスに進む準備ができています)、ローカルのOpenVPN IPを指す仮想IPを使用して他のマシンをセットアップします。これにより、後で拡張する余地が与えられます(仮想IPを備えたマシンをさらに追加し、特定のポートを別のサーバーに論理的に転送し、仮想アクセス用のOpenVPNを備えた本格的なLAN/WAN/DMZ設定を実際に持っています。言うまでもなく、本格的なルーターなので、より安全です。