OpenVPNの設定

OpenVPNの設定

家にLANがあります。 NATの後ろにあり、外部的に動的IPアドレスを使用します。私の家のLANは192.168.1.x IPアドレスを使用します。

また、IPアドレスが185.xxxのVPSがあります。今やりたいことは、OpenVPNを使用してホームLANとVPSの間にトンネルを設定して、VPSがホームLANの共有ファイルにアクセスできるようにすることです。

OpenSSLを使用してOpenVPNとすべての証明書などを設定しました。私が走るとき

openvpn --config server.conf

VPSと

openvpn --config client.conf

私のLANのPCでVPN接続が確立され、VPSとPCの両方が10.8.xx IPアドレスを持つTUNデバイスを取得します。これまでは、2台のコンピュータが接続されているように見え、エラーメッセージは表示されません。

ところで、どのように進むべきかわかりません。

これは私のものですserver.conf

server 10.8.0.0 255.255.255.0
verb 3
key /etc/openvpn/server/server.key
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
dh /etc/openvpn/server/dh.pem
keepalive 10 120
persist-key
persist-tun
comp-lzo
route 192.168.1.0 255.255.255.0

dhcp-option DNS 192.168.1.1

user nobody
group nobody

proto udp
port 1194
dev tun1194
status openvpn-status.log

これは私のものですclient.conf

client
nobind
dev tun
redirect-gateway def1 bypass-dhcp
remote 185.x.x.x 1194 udp
comp-lzo yes

redirect-gateway def1

key /etc/openvpn/client.key
cert /etc/openvpn/client.crt
ca /etc/openvpn/ca.crt

VPSから自分のLANにトラフィックを送信できるように、クライアントとサーバーをどのように設定する必要がありますか? (例:VPSへのSMB / CIFS共有マウント、例:192.168.1.2)

理想的には、可能であれば、VPN接続は私のホームルーターをDHCPサーバーとして使用することです。を使ってみましたが、dhcp-option何の効果もありませんでした。また、VPSからLANにトラフィックをルーティングしないようです。つまり、ping 192.168.1.2VPSではこれを行うことはできません(これが可能であることを望みました)。

また、VPS上で動作するVPNサーバーに内部で1台以上のPCを接続し、3台目のPCにもホームLANにアクセスさせることができますか?このように:

Some PC on the internet <---> VPS <---> VPN tunnel <---> Home LAN

答え1

サブネット間のルーティングを設定するには、そのサブネットをアドバタイズする必要があります。このオプションを試してくださいpush "route 192.168.1.0 255.255.255.0"。特にOpenVPNのドキュメントを参照してください。https://community.openvpn.net/openvpn/wiki/BridgingAndRouting

サイト間OpenVPNトンネル(=ルーティングを介したポイントツーポイント)のクライアントとサーバーのOpenVPNトンインターフェースは、宣言された正確なIPアドレスを使用します。

答え2

私は少し進歩しました。サーバーでこの構成を使用します。

server 10.8.0.0 255.255.255.0
verb 3
key /etc/openvpn/server/server.key
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/server.crt
dh /etc/openvpn/server/dh.pem
keepalive 10 120
persist-key
persist-tun
comp-lzo

route 192.168.1.0 255.255.255.0

push "route 192.168.1.0 255.255.255.0"
push "dhcp-option DNS 192.168.1.1"
push "dhcp-option DNS 1.1.1.1"
push "dhcp-option DNS 1.0.0.1"

push "redirect-gateway def1 bypass-dhcp"

user nobody
group nobody

proto udp
port 1194
dev tun1194
status openvpn-status.log

そして

client
nobind
dev tun
redirect-gateway def1 bypass-dhcp
remote 185.x.x.x 1194 udp
comp-lzo yes

redirect-gateway def1

#iroute 192.168.1.0 255.255.255.0

key /etc/openvpn/client.key
cert /etc/openvpn/client.crt
ca /etc/openvpn/ca.crt

クライアントでOpenVPN接続を確立したら、次のルーティングテーブルを取得します。

仕える人:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway.netcup. 0.0.0.0         UG    100    0        0 ens3
10.8.0.0        10.8.0.2        255.255.255.0   UG    0      0        0 tun1194
10.8.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun1194
185.x.x.x       0.0.0.0         255.255.252.0   U     100    0        0 ens3
192.168.1.0     10.8.0.2        255.255.255.0   UG    0      0        0 tun1194

顧客:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.0.5        128.0.0.0       UG    0      0        0 tun0
default         gateway         0.0.0.0         UG    0      0        0 eth0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
128.0.0.0       10.8.0.5        128.0.0.0       UG    0      0        0 tun0
link-local      0.0.0.0         255.255.0.0     U     1118   0        0 eth0
185.x.x.x       gateway         255.255.255.255 UGH   0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

しかし、まだping 192.168.1.1サーバーではアクセスできません。もちろん、クライアントでIP転送を有効にしました。

sysctl -w net/ipv4/ip_forward=1

また、クライアントでiptablesを設定しようとしました。

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

関連情報