Рейтинг:0

Не удается отправлять или получать почту при подключении к серверу OpenVPN (на котором также работает почтовый сервер)

флаг in

Я немного застрял здесь на данный момент и буду признателен за каждый толчок в правильном направлении для решения этой проблемы.

Мои две цели — запустить сервер OpenVPN на удаленной виртуальной машине (Digital Ocean Droplet), а также запустить на этой виртуальной машине мой постфиксный сервер. Соединение OpenVPN направляет мои DNS-запросы на Pihole, что обеспечивает мне надлежащую блокировку рекламы, когда я не дома (где есть pihole на реальном работающем rpi).

Эта установка работает почти идеально, но с одним исключением. После подключения к OpenVPN я больше не могу получать и отправлять электронные письма. В моем почтовом журнале вообще ничего не появляется (postfix и dovecot запущены и регистрируются).Ни postfix, ни dovecot не регистрируют попытки подключения с моего компьютера (который затем подключается к VPN). Как только я отключаюсь от VPN, отправка и получение почты снова работают.

У меня запущен и логируется ufw, но в его логах тоже ничего не появляется.

Я предполагаю, что это как-то связано с постфиксом, работающим на локальном хосте, и после подключения к интерфейсу VPN есть мост, который мне каким-то образом нужно построить. Но я должен быть честным с вами, ребята, я понятия не имею, с чего начать, так как я не могу найти ничего в Интернете, где именно обсуждается этот вопрос.

Что бы вы сказали, где я должен начать искать? Брандмауэр, конфигурация VPN, конфигурация почтового сервера? Я немного потерян.

$ IP-адрес
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00
    инет 127.0.0.1/8 область хоста lo
       valid_lft навсегда
    inet6 :: 1/128 узел области видимости
       valid_lft навсегда
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние UP группа по умолчанию qlen 1000
    ссылка/эфир 8a:0c:da:93:21:88 brd ff:ff:ff:ff:ff:ff
    inet XXXXXXXXXXX/20 brd XXXXXXXXXXXX глобальная область действия eth0
       valid_lft навсегда
    inet 10.19.0.5/16 brd 10.19.255.255 глобальная область eth0
       valid_lft навсегда
    глобальная область действия inet6 XXXXXXXXXXXXXXXXXXXXXX/64
       valid_lft навсегда
    ссылка на область действия inet6 XXXXXXXXXXXXXXXXXXXXXX/64
       valid_lft навсегда

[...]

21: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel состояние НЕИЗВЕСТНО группа по умолчанию qlen 100
    ссылка/нет
    inet 10.8.0.1 одноранговая сеть 10.8.0.2/32 глобальная область действия tun0
       valid_lft навсегда
    inet6 XXXXXXXXXXXXXXXXXXXXXX/64 ссылка на стабильную конфиденциальность
       valid_lft навсегда


$ кошка /etc/openvpn/server.conf
порт 1194
прото удп
разработчик тун
ca ca.crt
сервер сертификатов.crt
ключевой сервер.key
dh dh.pem
сервер 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
нажмите "маршрут 192.168.10.0 255.255.255.0"
нажмите "маршрут 192.168.20.0 255.255.255.0"
нажмите «перенаправление-шлюз def1 bypass-dhcp»
нажмите «dhcp-опция DNS 10.8.0.1»
поддержка 10 120
tls-auth ta.key 0
шифр AES-256-CBC
аутентификация SHA256
пользователь никто
группа
постоянный ключ
упорный тун
статус /var/log/openvpn/openvpn-status.log
журнал /var/журнал/openvpn/openvpn.log
глагол 3
явное-выход-уведомление 1

OpenVPN регистрирует подключение моего компьютера

Сб, 25 декабря, 09:10:51 2021 macbook/XXXXXXXXX:59001 MULTI: основной виртуальный IP-адрес для macbook/XXXXXXXXX:59001: 10.8.0.10
Сб, 25 декабря, 09:10:51 2021 macbook/XXXXXXXXX:59001 SENT CONTROL [macbook]: 'PUSH_REPLY,route 192.168.10.0 255.255.255.0,route 192.168.20.0 255.255.255.0,redirect-gateway def1 bypass-dhcp,dhcp,dhcp DNS 10.8.0.1, маршрут 10.8.0.1, топология net30, ping 10, ping-restart 120, ifconfig 10.8.0.10 10.8.0.9, идентификатор узла 0, шифр AES-256-GCM (статус = 1)
флаг in
Я бы начал с того, чтобы убедиться, что пакеты принимаются и отправляются обратно на правильные IP-адреса. `tcpdump -nni любой порт 25` может помочь.
флаг in
Сама настройка почтового сервера работает нормально. Используя tcpdump, он регистрирует входящие письма. Проблема в том, что когда мой клиент подключается к серверу openvpn (то есть на том же сервере), он не может подключиться к почтовому серверу. Мой клиент пытается подключиться, но в конечном итоге истечет время ожидания. Когда я отключаю свой клиент от сервера openvpn, он снова получает и отправляет почту. На стороне сервера в mail.log ничего не выскакивает
флаг in
Я имел в виду проверку tcpdump, пока вы пытаетесь подключиться...
флаг in
проверьте `ip route` как на сервере, так и на клиенте, попытайтесь понять, по какому пути будут проходить пакеты, а также рассмотрите внешний путь службы VPN.
флаг in
Скорее всего проблема в маршрутизации. Но я думаю, что мне действительно нужно сначала изучить сетевую маршрутизацию, потому что сейчас я не знаю, с чего начать. Одна вещь подошла и может быть связана.Когда мой клиент пытается подключиться к моему почтовому серверу с помощью telnet и при подключении к OpenVPN-серверу, он неправильно разрешает DNS почтового сервера. Он проходит через 127.0.1.1 и застревает на этом. После отключения от сервера OpenVPN он правильно разрешает запись DNS и подключается к почтовому серверу. Это то, с чем мы можем работать?
флаг in
`# подключен к серверу openvpn телнет mail.MAILSERVER.de 25 Пытаюсь 127.0.1.1... # не подключен к серверу openvpn`
флаг in
`telnet mail.MAILSERVER.de 25 Попытка ХХ.ХХХ.ХХХ.ХХХ... Подключен к mail.MAILSERVER.de. Экранирующий символ '^]'. 220 mail.MAILSERVER.de ESMTP Postfix`
флаг in
Итак, при подключении к серверу OpenVPN клиент пытается разрешить запись DNS моего почтового сервера и по непонятной мне причине пытается подключиться к 127.0.1.1. Если я попытаюсь подключиться напрямую к IP-адресу моего почтового сервера, telnet сможет правильно подключиться. $ телнет ХХ.ХХХ.ХХХ.ХХХ 25 Попытка ХХ.ХХХ.ХХХ.ХХХ... Подключено к NAMEOFLOCALHOST. Экранирующий символ '^]'. 220 mail.MAILSERVER.de Постфикс ESMTP
флаг in
Итак, как мне заставить OpenVPN разрешать запись DNS не на мой локальный IP-адрес, а на общедоступный IP-адрес? Я предполагаю, что это решит это.
Рейтинг:0
флаг aq
MTG

Конфигурация VPN может быть очень сложной, поскольку она меняет обычный маршрут вашей системы по умолчанию на маршрут VPN-сервера. Сервер, в свою очередь, может выполнять какую-то исходную маршрутизацию для входящего трафика от клиента vpn, а также изменять ваши исходящие IP-адреса.

В итоге:

  1. Почтовый сервер может быть чувствителен к этому изменению адреса.

  2. Служба VPN может направлять ваш трафик на свой общедоступный или физический интерфейс, эффективно блокируя вас от внутренних служб виртуальной машины, включая пакет postfix.

  3. Функции блокировки рекламы также могут вызывать проблемы со службами электронной почты.

Вам лучше поискать соответствующие параметры конфигурации Pihole или попробовать другие VPN-сервисы, например. нативные VPN-сервисы Linux для начинающих.

флаг in
VPN можно настроить так, чтобы они стали маршрутом по умолчанию, но это конфигурация, а не по умолчанию.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.