我家里有局域网。它位于NAT之后,外部使用动态IP地址。在我的家庭局域网中,我使用192.168.1.x IP地址。
此外,我还有一个VPS,它有一个IP 185.x.x.x地址。我现在想做的是使用OpenVPN在我的家庭局域网和VPS之间建立一个隧道,这样VPS可以访问我家LAN中的共享文件。
我已经使用OpenVPN设置了OpenSSL和所有证书等。当我跑的时候
openvpn --config server.conf
关于VPS和
openvpn --config client.conf
在我的局域网中的一台PC上,建立了一个VPN连接,VPS和PC都得到了一个具有10.8.x.xIP地址的TUN设备。到目前为止,这两台计算机似乎是连在一起的,我没有看到任何错误信息。
然而,我不知道该如何进行。
这是我的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到我的局域网,例如,我不能做一个ping 192.168.1.2在我的VPS (我希望这应该是可能的)。
此外,是否有可能将另一台PC从内部机连接到运行在VPS上的VPN服务器,而第三台PC也可以访问我家局域网?就像这样:
Some PC on the internet <---> VPS <---> VPN tunnel <---> Home LAN发布于 2019-05-13 05:09:44
要在子网之间建立路由,需要对这些子网做广告。查看如何使用push "route 192.168.1.0 255.255.255.0"选项。请参阅OpenVPN文档,特别是https://community.openvpn.net/openvpn/wiki/BridgingAndRouting。
客户机和服务器OpenVPN tun在站点到站点OpenVPN隧道(=点对点与路由)上使用的IP插件正是您声明它们的内容。
发布于 2019-05-13 18:11:33
我取得了一些进展。在服务器上使用此配置
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我还尝试在客户端上配置iptable:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADEhttps://unix.stackexchange.com/questions/518614
复制相似问题