私のWindows OpenVPNサーバーは10.8.0.1で実行されています。
server.ovpnは次のとおりです。
server 10.8.0.0 255.255.255.0
port 1194
topology subnet
proto udp4
dev tun
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
key "C:\\Program Files\\OpenVPN\\config\\server.key"
dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"
#for debug, allow same certs on all clients
duplicate-cn
keepalive 10 120
cipher AES-256-GCM
comp-lzo
persist-key
persist-tun
verb 3
explicit-exit-notify 1
WSLを起動し、次のようにWSL2(Ubuntu)でDockerイメージを実行しました。
docker run --gpus all --privileged -p 1777:1777 -p 1778:1778 --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 -it --rm -v/mnt/d/data:/mnt nvcr.io/nvidia/pytorch:23.06-py3
Dockerの内部では、次のようにネットワークツールとOpenVPNをインストールしました。
apt update
apt -y install net-tools
apt -y install netcat
apt -y install iputils-ping
apt -y install iproute2
apt -y install iptables
apt -y install traceroute
apt -y install OpenVPN
これでインストール/mnt
して実行します。
openvpn --config client.ovpn
client.ovpnは次のとおりです。
client
dev tun
proto udp4
remote a.b.c.d 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert Client1.crt
key Client1.key
remote-cert-tls server
cipher AES-256-GCM
comp-lzo
verb 3
(証明書はclient.ovpnと同じディレクトリにあります。)
ifconfigを実行すると、次のことがわかるため、接続が確立されているようです。
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.15.1.1 netmask 255.255.255.0 broadcast 172.15.1.255
ether 02:42:ac:0f:01:01 txqueuelen 0 (Ethernet)
RX packets 22289 bytes 30846027 (30.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 10953 bytes 734146 (734.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
inet 10.8.0.2 netmask 255.255.255.0 destination 10.8.0.2
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ただし、dockerで実行するとping 10.8.0.1
(私も試してみます)、サーバーまたは他の接続されたクライアントにpingを送信できません。ping -I tun0 10.8.0.1
Dockerはeth0
問題なくインターネットサーバーをpingできます。
私は何を見逃していますか?注:私はネットワーキングやVPNの専門家ではありません。