首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenVPN配置

OpenVPN配置
EN

Unix & Linux用户
提问于 2019-05-13 04:45:04
回答 2查看 180关注 0票数 0

我家里有局域网。它位于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

代码语言:javascript
复制
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

代码语言:javascript
复制
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也可以访问我家局域网?就像这样:

代码语言:javascript
复制
Some PC on the internet <---> VPS <---> VPN tunnel <---> Home LAN
EN

回答 2

Unix & Linux用户

发布于 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插件正是您声明它们的内容。

票数 0
EN

Unix & Linux用户

发布于 2019-05-13 18:11:33

我取得了一些进展。在服务器上使用此配置

代码语言:javascript
复制
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

代码语言:javascript
复制
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连接之后,我得到以下路由表:

服务器:

代码语言:javascript
复制
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

客户:

代码语言:javascript
复制
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转发。

代码语言:javascript
复制
sysctl -w net/ipv4/ip_forward=1

我还尝试在客户端上配置iptable:

代码语言:javascript
复制
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/518614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档