OpenVPN 桥接器在 LAN 外不起作用

OpenVPN 桥接器在 LAN 外不起作用

我正在尝试设置 OpenVPN 服务器。这是网络:电缆调制解调器、TP-Link 路由器,带有 OpenWrt Chaos Calmer 15.05.1 / LuCI 15.05-149-g0d8bbd2 版本 (git-15.363.78009-956be55) 192.168.15.1 路由器 192.168.15.20 PC 带有 DHCP 静态租约 Ubuntu Mate 16.04 Xenial x64 这是我的主要计算机,带有正常工作的 samba 共享 192.168.15.22 虚拟机 Windows 7 Pro SP1 x86 带有 DHCP 静态租约 192.168.15.254 虚拟机 ubuntu 服务器静态 IP 地址

我在本教程的帮助下在 ubuntu 服务器 (.15.254) 上安装并配置了 OpenVRT: https://help.ubuntu.com/community/OpenVPN#Configuring_the_Server

我在路由器 TCP、UDP 上打开端口 1194,并进行了测试并且可以正常工作,我安装了 ddclient 并带有免费 DNS 进行测试并且可以正常工作,我没有任何 iptables 规则,清空了所有 3 个链。

我可以从本地网络的 win7 虚拟机使用 OpenVPN GUI 连接到服务器。一切正常,可以 ping 其他机器,连接到 PC 上的 samba (.15.20)

在 LAN 之外,使用 win7 PC 和 OpenVPN GUI,我可以连接到服务器,获得正确的 IP 地址 192.168.15.225,可以 ping 服务器 192.168.15.254,可以从服务器 ping 客户端,仅此而已,我无法执行任何其他操作。我无法 ping 其他机器 192.168.15.1(路由器)192.168.15.20(主机),无法访问 samba 共享,在网络浏览下看不到其他机器。

问题是什么以及为什么不能正常工作:

在配置文件下:interfaces、down.sh、up.sh、server.conf、client.ovpn:

在 /etc/网络/接口:


auto lo br0
iface lo inet loopback

iface br0 inet static
    address 192.168.15.254
    netmask 255.255.255.0
    gateway 192.168.15.1
    broadcast 192.168.15.255
    dns-nameservers 192.168.15.1 8.8.8.8
    bridge_ports eth0

iface eth0 inet manual
    up ip link set $IFACE up promisc on
    down ip link set $IFACE down promisc off

#virtualbox virtualis gep miatt kell az alabbi 4
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

/etc/openvpn/down.sh:


#!/bin/sh

BR=$1
DEV=$2

/sbin/brctl delif $BR $DEV
/sbin/ip link set "$DEV" down

/etc/openvpn/up.sh:


#!/bin/sh
BR=$1
DEV=$2
MTU=$3
/sbin/ip link set "$DEV" up promisc on mtu "$MTU"
/sbin/brctl addif $BR $DEV

/etc/openvpn/server.conf:


mode server
tls-server

local 192.168.15.254 ## ip/hostname of server
port 1194 ## default openvpn port
proto udp

#bridging directive
dev tap0
script-security 2 ## allow calling up.sh down.sh
up "/etc/openvpn/up.sh br0 tap0 1500"
down "/etc/openvpn/down.sh br0 tap0"

persist-key
persist-tun

#certificates and encryption
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
tls-auth ta.key 0

cipher BF-CBC
comp-lzo

#DHCP Information
ifconfig-pool-persist ipp.txt
server-bridge 192.168.15.254 255.255.255.0 192.168.15.225 192.168.15.235
push "dhcp-option DNS 192.168.15.1"
push "route 192.168.15.1 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
max-clients 10

#log and security
user nobody
group nogroup
keepalive 10 120
status openvpn-status.log
verb 3

客户端.ovpn:


### Client configuration file for OpenVPN

# Specify that this is a client
client

# Bridge device setting
dev tap

# Host name and port for the server (default port is 1194)
# note: replace with the correct values your server set up
remote ***server url*** 1194
proto udp

# Client does not need to bind to a specific local port
nobind

# Keep trying to resolve the host name of OpenVPN server.
## The windows GUI seems to dislike the following rule. 
##You may need to comment it out.
resolv-retry infinite

# Preserve state across restarts
persist-key
persist-tun

# SSL/TLS parameters - files created previously
ca ca.crt
cert pisti.crt
key pisti.key

# Since we specified the tls-auth for server, we need it for the client
# note: 0 = server, 1 = client
tls-auth ta.key 1

# Specify same cipher as server
cipher BF-CBC

# Use compression
comp-lzo

# Log verbosity (to help if there are problems)
verb 3

答案1

我继续搜索,终于找到了解决方案。问题在于 VPN 服务器是虚拟机,而 VirtualBox 设置未设置为混杂模式。我更改了设置:设置 -> 网络 -> 高级设置 -> 将混杂模式设置为“全部允许”。我这样做之后,一切都开始正常工作。问题解决了。

相关内容