Я настроил сервер OpenVPN на Fedora 20 VPS, я могу просто подключиться к самому серверу и его сервисам через vnet.

# +<tun>+       VNET     <tun>-<eth> +------------+
# | VPS |--[10.8.0.0/24]--|CLIENT|---|  LAN       |
# +-----+                 +------+   +------------+
#                                    192.168.178.0/24

Но как только клиент OpenVPN запускается, новый маршрут по default передается клиенту. Это, в свою очередь, вызывает некоторую путаницу, так как теперь у меня неправильный шлюз по умолчанию, который, очевидно, не работает, поскольку все запросы, которые не предназначены для ЛВС, теперь (пытаются маршрутизироваться) через VNET (через его шлюз):

# ip route list
default via 10.8.0.1 dev tun0 proto static metric 1024
192.168.178.0/24 dev eth0 ....
....

Тем не менее, простой набор удаления маршрута и добавления маршрута

ip route del default via 10.8.0.1
ip route add default via 192.168.178.1
ip route add 10.8.0.0/24 dev tun0

заставляет все работать снова, поскольку (я полагаю, в этом причина) остается только один маршрут по умолчанию, и подсеть 10.8.0.0/24 маршрутизируется через интерфейс tun0 .

Какие изменения мне нужно внести, чтобы я мог иметь доступ к Интернету через локальный шлюз, но при этом получать доступ к услугам в моей частной виртуальной сети без необходимости изменения маршрутов вручную?

port 1194
dev tun

tls-server 
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem

mode server

# the addresses which represent the server
ifconfig 10.8.0.1 10.8.0.2

# pool of IPs to assign to clients
ifconfig-pool 10.8.0.66 10.8.0.99

#### routing info that gets pushed from server to client
#### so this represents the subnet that gets routed
#### through the tap0 interface
push "route 10.8.0.0 255.255.255.0"

#### do I need any of these? don't think so
####
#push "dhcp-option DNS 8.8.8.8"
#push "dhcp-option WINS 8.8.8.8"
#push "dhcp-option DNS 192.168.0.1"
#push "dhcp-option WINS 192.168.0.1"

keepalive 10 60

inactive 600

#### what should I set this to?
#### the routing from server => client   
#### so this should include all IPs we assign
#### to the clients
route 10.8.0.1 255.255.255.0

user openvpn
group openvpn

persist-tun
persist-key

client-to-client

verb 4

Примечание: я не хочу, чтобы трафик проходил через сервер (и, следовательно, проходил через vnet), но разрешался локальным маршрутизатором.

1 ответ1

0

Использование NetworkManager с его программой OpenVPN-client дает флажок, чтобы использовать сеть только для ресурсов в этой сети (сеть здесь относится к 10.8.0.0/24). Это не правильное исправление на стороне сервера, которое я желаю, но я думаю, достаточно хорошо.


Networking > Editing foo-vpn

Выберите вкладку IPv4 или IPv6 , что вам нужно. Выберите Routes... и установите флажок Use this connection only for resources on its network

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .