OpenVPN レイヤー 2 イーサネット ブリッジング

OpenVPN レイヤー 2 イーサネット ブリッジング

Ubuntu 18.04 マシンで OpenVPN サーバーを実行しており、イーサネット ブリッジング (レイヤー 2) を介して Ubuntu 20.04 マシンを使用してサーバーに接続したいと考えています。

OpenVPN を正常に作成しましたが、接続できないようです。

クライアント側の tap0 は IP を受信しません。

また、私はネットワークなどの分野については初心者であることを述べておきたいと思います。

私の最終目標は、サーバーとクライアントの両方に静的 IP アドレスを設定することです。DHCP は使いたくありません。

私の設定は次のとおりです:

サーバー.conf

port 1194
proto udp
dev tap0
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem

up "/etc/openvpn/up.sh br0 tap0 1500"
down "/etc/openvpn/down.sh br0 tap0"

# Configure server mode for ethernet bridging.
# You must first use your OS's bridging capability
# to bridge the TAP interface with the ethernet
# NIC interface.  Then you must manually set the
# IP/netmask on the bridge interface, here we
# assume 10.8.0.4/255.255.255.0.  Finally we
# must set aside an IP range in this subnet
# (start=10.8.0.50 end=10.8.0.100) to allocate
# to connecting clients.  Leave this line commented
# out unless you are ethernet bridging.
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100

# Configure server mode for ethernet bridging
# using a DHCP-proxy, where clients talk
# to the OpenVPN server-side DHCP server
# to receive their IP address allocation
# and DNS server addresses.  You must first use
# your OS's bridging capability to bridge the TAP
# interface with the ethernet NIC interface.
# Note: this mode only works on clients (such as
# Windows), where the client-side TAP adapter is
# bound to a DHCP client.
server-bridge

keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
verb 3
explicit-exit-notify 1

クライアント.ovpn

client
dev tap
proto udp
remote hidden 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun

<ca>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</ca>

<cert>
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
</key>

remote-cert-tls server

key-direction 1
<tls-auth>
-----BEGIN OpenVPN Static key V1-----
-----END OpenVPN Static key V1-----
</tls-auth>

cipher AES-256-CBC
verb 4

答え1

すぐに更新できず申し訳ありません。実はこの作業は完了しています。クライアントをサーバーに正常に接続できました。どちらも通常の LAN のように接続されており、どちらの PC にも接続されている他のボードにも接続できます。私の質問をチェックしてくださった皆様、ありがとうございます。

私の解決策:

サーバーとクライアントの両方の設定を同じにしました。クライアント側の tap0 インターフェイスに IP を割り当てるだけで済みました (「sudo ip link set up tap0」を忘れずに)。これで、tap0 インターフェイスはクライアントからサーバーへ、またその逆方向へ相互に通信できるようになります。

参考までに: サーバーがクライアント側のボードの 1 つと通信できるようにしたいので、物理インターフェイスとタップ インターフェイスをブリッジに接続しました。次に、ブリッジに物理インターフェイスにあった IP を割り当てます。クライアントで割り当てられている IP がサーバーと同じサブネットにあることを確認します。たとえば、192.168.x.25 と 192.168.x.26 です。

この設定により、両方の PC が相互に通信できるようになり、PC に接続されたボードも通信できるようになりました。

改めて、ご協力いただいた皆様に感謝申し上げます。

関連情報