У меня есть полностью функциональный OpenVpn Server, который работает за моим домашним маршрутизатором. До сих пор мне удалось подключиться с Windows-машины, на моей машине ubuntu я получаю проблемы с маршрутизацией. Я хотел бы понять, какие маршруты мне нужны, чтобы это работало. Openvpn создает виртуальный интерфейс на клиенте tun0, который находится в другой частной сети машины ubuntu. Таким образом, маршрут может понадобиться для маршрутизации пакетов от tun0 до беспроводного интерфейса, и отсюда должен быть необходим только один маршрут (шлюз по умолчанию), чтобы выйти в мир. Это то, что имеет смысл для меня. Пожалуйста, поправьте меня, если я ошибаюсь! Моя таблица маршрутов до установления соединения с сервером vpn такова:
foo@bar:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.69.69.1 0.0.0.0 UG 600 0 0 wlp3s0
10.69.69.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp3s0
После соединения этот беспорядок:
foo@bar:~$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.0.1 255.255.255.255 UGH 0 0 0 tun0
0.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 10.69.69.1 0.0.0.0 UG 600 0 0 wlp3s0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
10.8.0.1 10.8.0.1 255.255.255.255 UGH 0 0 0 tun0
10.69.69.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
a.b.c.d 10.69.69.1 255.255.255.255 UGH 0 0 0 wlp3s0
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp3s0
Обратите внимание, что abcd является общедоступным адресом моего сервер vpn. Вы можете видеть, что в моей таблице маршрутизации есть избыточные маршруты. Поэтому я попытался сказать серверу vpn не нажимать маршруты на моем клиенте, комментируя следующие строки (без результата):
dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key
dh /etc/openvpn/easy-rsa/pki/dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
# server and remote endpoints
ifconfig 10.8.0.1 10.8.0.2
# Add route to Client routing table for the OpenVPN Server
#push "route 10.8.0.1 255.255.255.255"
# Add route to Client routing table for the OPenVPN Subnet
#push "route 10.8.0.0 255.255.255.0"
# your local subnet
#push "route 0.0.0.0 "
# Set your primary domain name server address for clients
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
# Override the Client default gateway by using 0.0.0.0/1 and
# 128.0.0.0/1 rather than 0.0.0.0/0. This has the benefit of
# overriding but not wiping out the original default gateway.
push "redirect-gateway def1"
client-to-client
duplicate-cn
keepalive 10 120
tls-version-min 1.2
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0
cipher AES-256-CBC
auth SHA256
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
crl-verify /etc/openvpn/crl.pem
status /var/log/openvpn-status.log 20
status-version 3
log /var/log/openvpn.log
verb 1
# Generated for use by PiVPN.io
Любая обратная связь очень приветствуется!