Как настроить OpenVPN-клиент (Mikrotik RouterOS) OpenVPN-сервер (Debian/Linux) для работы

Как настроить OpenVPN-клиент (Mikrotik RouterOS)  OpenVPN-сервер (Debian/Linux) для работы

У меня возникли некоторые проблемы с работой MT с сервером OpenVPN (Debian). Я могу успешно подключиться к серверу OVPN, но трафик не маршрутизируется через сервер OVPN. Вот моя конфигурация.

Настраивать -https://i.stack.imgur.com/AAH9Y.jpg

Конфигурация сервера OpenVPN (Debian/Linux)

# кот /etc/openvpn/server.conf
местный 95.2.171.3
порт 1194
прото tcp
дев тун

ca ca.crt
сервер сертификатов.crt
ключевой сервер.ключ
dh dh.pem

сервер 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

клиент-config-dir ccd
маршрут 192.168.81.0/24 255.255.255.0

поддерживать активность 10 120
тун-мту 1500
mssfix 1450

шифр AES-256-CBC
аутентификация sha1

сохраняющийся ключ
сохраняйте-tun

статус /var/log/openvpn-status.log
log-append /var/log/openvpn.log

глагол 5
crl-verify /etc/openvpn/easy-rsa/pki/crl.pem

# кот /etc/openvpn/ccd/client
маршрут 192.168.81.0 255.255.255.0 10.8.0.2
ifconfig-push 10.8.0.2 10.8.0.1

# кошка /proc/sys/net/ipv4/ip_forward
1

# netstat -an | grep 1194
tcp 0 0 95.2.171.3:1194 0.0.0.0:* СЛУШАТЬ
tcp 0 0 95.2.171.3:1194 81.190.190.100:62973 УСТАНОВЛЕНО

# ifconfig
eth0 Link encap:Ethernet HWaddr 20:cf:30:f2:a8:76
          inet addr:95.2.171.3 Bcast:95.2.171.31 Маска:255.255.255.224
          inet6 адрес: fe80::22cf:30ff:fef2:a876/64 Область действия:Ссылка
          UP BROADCAST РАБОТАЕТ MULTICAST MTU:1500 Метрика:1
          RX пакеты:255189 ошибки:0 отброшены:0 переполнения:0 кадр:0
          Пакеты TX:333054 Ошибки:0 Отброшено:0 Переполнение:0 Несущая:0
          столкновения:0 txqueuelen:1000
          Байты RX: 34521411 (32,9 МБ) Байты TX: 367074147 (350,0 МБ)
          Прерывание:26 Базовый адрес:0x8000

lo Ссылка encap:Local Loopback
          inet addr:127.0.0.1 Маска:255.0.0.0
          inet6 addr: ::1/128 Область действия:Хост
          UP LOOPBACK ВЫПОЛНЯЕТСЯ MTU:16436 Метрика:1
          RX пакеты:15579 ошибки:0 отброшены:0 переполнения:0 кадр:0
          Пакеты TX:15579 Ошибки:0 Отброшено:0 Переполнение:0 Несущая:0
          столкновения:0 txqueuelen:0
          Байты RX: 1326071 (1,2 МБ) Байты TX: 1326071 (1,2 МБ)

tun0 Ссылка encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1 PtP:10.8.0.2 Маска:255.255.255.255
          UP POINTTOPOINT РАБОТАЕТ NOARP MULTICAST MTU:1500 Метрика:1
          RX пакеты:57 ошибки:0 отброшены:0 переполнения:0 кадр:0
          Пакеты TX:6 ошибки:0 отброшены:0 переполнения:0 носитель:0
          столкновения:0 txqueuelen:100
          Байты RX: 6669 (6,5 КиБ) Байты TX: 504 (504,0 Б)

# netstat -rn
Таблица маршрутизации IP ядра
Шлюз назначения Флаги Genmask Окно MSS irtt Iface
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
95.2.171.0 0.0.0.0 255.255.255.224 U 0 0 0 eth0
192.168.81.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
0.0.0.0 95.2.171.30 0.0.0.0 UG 0 0 0 eth0

# iptables -S
-P ВХОД ПРИНЯТЬ
-P ПЕРЕСЛАТЬ ПРИНЯТЬ
-P ВЫХОД ПРИНЯТЬ
-A ВХОД -i lo -j ПРИНЯТЬ
-A ВХОД -d 127.0.0.0/8 -i !lo -j ОТКЛОНИТЬ --reject-with icmp-port-unreachable
-A ВХОД -i tun0 -j ПРИНЯТЬ
-A ВХОД -m состояние --state СВЯЗАННЫЙ,УСТАНОВЛЕН -j ПРИНЯТЬ
-A ВХОД -p tcp -m tcp --dport 1194 -j ПРИНЯТЬ
-A ВХОД -m limit --limit 5/мин -j ЖУРНАЛ --log-prefix "iptables отклонен: " --log-level 7
-A ВХОД -j ОТКЛОНИТЬ --reject-with icmp-port-unreachable
-A ВЫХОД -j ПРИНЯТЬ

# iptables -t nat -S
-P ПРЕДВАРИТЕЛЬНЫЙ МАРШРУТ ПРИНЯТЬ
-P ПОСТСТРОУТИНГ ПРИНЯТЬ
-P ВЫХОД ПРИНЯТЬ
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3

# пинг 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) байт данных.
64 байта из 8.8.8.8: icmp_req=1 ttl=55 время=12,9 мс
64 байта из 8.8.8.8: icmp_req=2 ttl=55 время=12,8 мс

Это все мои настройки на сервере OpenVPN (Debian/Linux).

Конфигурация клиентской стороны OpenVPN (Mikrotik RouterOS 6)

/интерфейс печати
Флаги: D - динамический, X - отключен, R - работает, S - подчиненный
 # ИМЯ ТИП АКТУАЛЬНЫЙ-MTU L2MTU МАКС-L2MTU MAC-АДРЕС
 0 Р эфир1 эфир 1500 1600 4076 D4:CA:6D:31:14:F4
 1 S эфир2 эфир 1500 1598 2028 D4:CA:6D:31:14:F5
 2 S эфир3 эфир 1500 1598 2028 D4:CA:6D:31:14:F6
 3 S эфир4 эфир 1500 1598 2028 D4:CA:6D:31:14:F7
 4 S эфир5 эфир 1500 1598 2028 D4:CA:6D:31:14:F8
 5 RS wlan1 wlan 1500 1600 D4:CA:6D:31:14:F9
 6 R мост1 мост 1500 1598 D4:CA:6D:31:14:F5
 7 R ovpn-out1 ovpn-out 1500 FE:3E:27:7D:61:8C

 /интерфейс мост печать
Флаги: X - отключено, R - запущено
 0 R name="bridge1" mtu=auto actual-mtu=1500 l2mtu=1598 arp=enabled mac-address=D4:CA:6D:31:14:F5 protocol-mode=rstp priority=0x8000 auto-mac=yes admin-mac=00:00:00:00:00:00 max-message-age=20s forward-delay=15s transmission-hold-count=6 ageing-time=5m

/интерфейсный мост порт печать
Флаги: X - отключен, I - неактивен, D - динамический
 # ИНТЕРФЕЙС МОСТ ПРИОРИТЕТ ПУТЬ-СТОИМОСТЬ ГОРИЗОНТ
 0 I ether2 bridge1 0x80 10 нет
 1 I ether3 bridge1 0x80 10 нет
 2 I ether4 bridge1 0x80 10 нет
 3 Я ether5 bridge1 0x80 10 нет
 4 wlan1 bridge1 0x80 10 нет

 /ip адрес печать
Флаги: X - отключено, I - недействительно, D - динамический
 # АДРЕС СЕТЕВОЙ ИНТЕРФЕЙС
 0 192.168.81.1/24 192.168.81.0 мост1
 1 D 192.168.7.200/24 ​​192.168.7.0 эфир1
 2 D 10.8.0.2/32 10.8.0.1 ovpn-out1

 /ip брандмауэр nat печать
Флаги: X - отключено, I - недействительно, D - динамический
 0 цепочка=srcnat действие=маскарад to-addresses=0.0.0.0 out-interface=ether1 log=no log-prefix=""

 /ip маршрут печать
Флаги: X - отключено, A - активно, D - динамический, C - подключиться, S - статический, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - недоступно, P - запретить
 # DST-АДРЕС PREF-SRC ШЛЮЗ РАССТОЯНИЕ
 0 ОБЪЯВЛЕНИЙ 0.0.0.0/0 192.168.7.1 0
 1 АЦП 10.8.0.1/32 10.8.0.2 ovpn-out1 0
 2 АЦП 192.168.7.0/24 192.168.7.200 эфир1 0
 3 АЦП 192.168.81.0/24 192.168.81.1 мост1 0

 /интерфейс ovpn-клиент печать
Флаги: X - отключено, R - запущено
 0 R имя="ovpn-out1" mac-адрес=FE:3E:27:7D:61:8C max-mtu=1500 connect-to=195.13.171.3 port=1194 mode=ip user="client" password="" profile=default certificate=Client auth=sha1 cipher=aes256 add-default-route=no

 /пинг 10.8.0.1
  SEQ ХОСТ РАЗМЕР TTL ВРЕМЯ СТАТУС
    0 10.8.0.1 56 64 6 мс
    1 10.8.0.1 56 64 9 мс
    2 10.8.0.1 56 64 7 мс
    3 10.8.0.1 56 64 6 мс
    отправлено=4 получено=4 потеря пакетов=0% мин-rtt=6мс ср-rtt=7мс макс-rtt=9мс

Как видите, я могу пинговать OpenVPN-сервер с Mikrotik. Но когда я подключаюсь к Интернету с локального ПК, он показывает IP-адрес 81.190.190.100, а не тот, который я хотел бы видеть - IP OpenVPN-сервера - 95.2.171.3.

Я могу успешно пинговать/трассировать маршрут до 10.8.0.1 с ноутбука (192.168.81.100/24), но не могу понять, почему он не маршрутизируется через VPN-туннель. Я думаю, что я что-то упускаю с маршрутизацией либо на сервере (Linux), либо на клиенте (mikrotik).

Спасибо за помощь! Я уже некоторое время играюсь с этим и не могу запустить :(

Хорошего дня!

решение1

Ваш клиент не маршрутизирует через туннель OVPN, потому что на mikrotik нет маршрута (шлюза по умолчанию)!

Итак, добавьте еще один шлюз на mikrotik с отметкой маршрутизации с назначением OVPN-сервера 10.8.0.1

 /ip route add dst-address=0.0.0.0/0 gateway=10.8.0.1 routing-mark=clientmark

Конечно, вам следует добавить правило искажения для routing-mark, например:

/ip firewall mangle add action=mark-routing chain=prerouting src-address=192.168.81.0/24 new-routing-mark=clientmark

Также на нем должно быть правило nat для клиента (адрес источника 192.168.81.0/24).

ip firewall nat add action=masquerade chain=srcnat src-address=192.168.81.0/24 out-interface=ovpn-out1

Связанный контент