Я настроил сервер 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), но разрешался локальным маршрутизатором.