Dns не работает forward
Бьюсь на задачей роутинга трафика, помогите разобраться, что я делаю не так.
Есть сервер на CentOS 6.5, который должен стать шлюзом в филиале. На нем также стоит DNS, samba, DHCP серверы, но это сейчас не имеет значения.
На нем есть 2 физических интерфейса:
eth0 - интернет
eth1 - локалка
tun0 - openvpn клиент для доступа к ресурсам центрального филиала
форвардинг влючен
роутинг и фаерволл:
В чем проблема:
Недоступны ресурсы центрального офиса (подсеть 192.168.250.0, через интерфейс openvpn) и с интерфейса eth1 нет коннекта в интернет
- Вопрос задан более трёх лет назад
- 6094 просмотра
Вы не показали таблицы маршрутизации центрального сервера. Как можно понять из приведённой информации на нём на VPN интерфейсе есть сеть 192.168.250.0/24, а значит на нём должна быть маршрутизация через vpn в ваши сети которые вы хотите сделать доступными:
В одной консоли запустите
ping -I eth1 192.168.250.102
Во второй
tcpdump -i tun0 host 192.168.250.102
На центральном сервере на tun интерфейсе также запустите
tcpdump -i tun0 host 192.168.250.102
Смотрите что пакеты проходят как в одну так и во вторую сторону.
Ищите где затык.
Мне также жутко не нравится Ваш iptables. В частности цепочки FORWARD
режете трафик который идёт из tun0.
У вас все адреса локальные поэтому можете попробовать разрешить всё:
iptables я пока что отключил совсем. Когда роутинг настрою, то буду фаерволл мучать.
Затем я tcpdump'ом помониторил интерфейсы. Пакеты запроса уходят с eth1 и все. Ответа нигде нет и никуда дальше пакеты не идут. Я traceroute когда выполняю на любой ip , то там тишина.
Вообще в чем сейчас проблема. У меня нету роутинга от eth1 до tun0 и до eth0.
в веб:
в центральный офис:
с одного интерфейса на другой:
Я сижу гуглю, но ни как не могу найти инфу, как разрешить гнать все пакеты с одного интерфейса на другой. Фовардинг включен:
@younghacker вы святой человек! =) пинганул указав адрес вместо имени интерфейса и заработало! И так, на текущий момент пакеты бегают, из eth0 в eth1 и обратно. tcpdum "все ок" говорит.
Прохождения пакетов из сети 192.168.243.0 в подсеть центрального офиса 192.168.250.0 через openvpn идет немного странно. Идет пинг, 1 раз все проходит и далее тишина в эфире.
А вы не могли бы пояснить в чем разница между "ping -i eth1" и "ping -i 192.168.243.1"?
В случае ping -I eth1 пакеты улетают "наружу" непосредственно в интерфейс.А в случае ping -I 192.168.243.1 используется таблица маршрутизации хоста на котором запущен ping. Тоесть пакет попадает как бы внутрь хоста с адресом источника равным заданному адресу на интерфейсе.
Вот ещё что можно попробовать.
Можете добавить в iptables правило
-A POSTROUTING -o tun0 -j MASQUERADE
Только добавьте аксептирующие правила input и forward (вы говорили что отключали iptables) лишнее закоментируйте и запустите iptables.
Это включит NAT в сторону VPN и исключит необходимость серверу-получателю знать про маршрутизацию в вашу сетку. Ему хватит роута который добавил VPN сервер. Если заработает — значит проблема в маршрутизации на стороне сервера.
@younghacker Интересная ситуация. вчера, когда я говорил, что пинг 1 раз идет было так. Я работал из дома я видел, что пинг идет 1 раз, tcpdump писал, что есть request и есть reply, стабильно только 1 раз. Может это было связанно что вчера я из дома сам по openvpn подключался.
Сегодня же в эфире есть есть только request. Ответа нет. Включил NAT, пинг идет
.
Выключил - не идет.
в дампе же на интерфейсе сервера openvpn в это время тишина
Вы не написали, что говорит tcpdump на стороне сервера.
По ощущению если с NAT-ом пинг работает а без него нет значит скорее всего на сервере нет маршрута в вашу сеть.
Поясню.
На сервере в директории /etc/openvpn/ccd должен лежать файлик который описывает маршрут в вашу сеть. Имя файла должно совпадать с CommonName сертификата вашего хоста-клиента vpn (дубликаты CN не подойдут! тоесть сертификат уникальный)
Содержимое файла по-моему должно быть для вас таким:
iroute 192.168.243.0 255.255.255.0
ifconfig-push 192.168.251.25 192.168.251.26
В конфиге OpenVPN сервера должна быт опция
client-config-dir ccd
После этого рестартануть OpenVPN сервер. Он должен будет подхватить конфиг. После соединения клиента он должен создать маршрут в вашу сетку на стороне openvpn сервера.
Для проверки можете прописать маршрут руками.
ip route add 192.168.243.0/24 via 192.168.251.25 dev tunX
Пинги должны забегать без NAT.
Если tcpdump полностью молчит на стороне сервера либо ошибка (не тот интерфейс или фильтр) или vpn не установился (включите уровень логирования vpn verbose 6 и посмотрите в лог vpn).
Также стоит посмотреть на стороне сервера iptables. Может там режется с левым по его мнению адресом 192.168.243.0/24
Посмотрите адрес интерфейса сервера и пинганите его со стороны клиента без указания адреса источника. Пинг пойдёт между адресами VPN туннеля. Сервер должен ответить если firewall не запрещает и если VPN поднят.
В этой статье мы рассмотрим настройку базовой сетевой службы DNS на маршрутизаторе Mikrotik. Узнаем, как настроить локальный DNS Server, создать статические записи ДНС и для чего это нужно. Изучим новый функционал, который появился в RouterOS версии 6.47.
Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
Mikrotik DNS. Общая информация
База данных ДНС представляет из себя иерархическую структуру серверов, взаимодействующих по специальному протоколу.
Mikrotik. Настройка DNS сервера
Когда подключение к провайдеру происходит при помощи технологии Dynamic IP или PPPoE, то ИП-адрес DNS назначается автоматически, если установлена “галочка” в соответствующем клиенте:
Рассмотрим ситуацию, когда ДНС задается вручную (подключение к провайдеру осуществляется статическим способом или значение Use Peer DNS неактивно). Выполним настройку DNS сервера для Mikrotik с помощью графической утилиты Winbox. Для этого перейдем:
А также можем задать настройки для кэша:
Чтобы посмотреть содержимое кэша на устройстве Mikrotik:
Если нужно удалить кэшированные страницы, то:
Важно! Параметр Allow Remote Requests разрешает роутеру Mikrotik работать DNS-сервером для сторонних клиентов (будь то локальные или из интернета).
Поэтому необходимо создать правило в firewall:
Разрешим принимать ДНС запросы от всех, кроме WAN интерфейса:
- Chain: input;
- Protocol: 17 (udp);
- Dst. Port: 53;
- In. interface: ! ether1 – Выбрать интерфейс с настроенным интернетом от провайдера. Обратите внимание на восклицательный знак перед интерфейсом (“!”), он означает выражение “НЕ”.
- Откроем вкладку Action:
Для примера приведу рабочую конфигурацию firewall, где выполнена данная настройка:
Для более глубокого понимания работы брандмаура советуем изучить статью MikroTik настройка firewall.
Mikrotik DNS. Статические записи
Если мы сами служим DNS-сервером, то можем создавать статические записи. До версии 6.47 RouterOS, служба доменных имен в Mikrotik могла создавать записи только типа A (соответствие между именем узла и ИП-адресом). Но начиная с версии 6.47 появилась возможность создавать и другие типы основных ресурсных записей:
DNS static. Настройка
Однако, при этом поддомены сайта будут доступны. Чтобы запретить сайт со всеми поддоменами, создадим статическую запись для доменного имени:
DNS Static. Настройка из консоли
Настройки, описанные выше, только из командной строки:
Настройка DNS Forward
Также возможно пересылать определенные запросы DNS на другой сервер. Предположим, что у нас есть небольшой филиал и нам нужно настроить forward запросов для имени внутреннего домена на ДНС сервера Active Directory. Для этого Mikrotik использует тип записи FWD. Данная функция появилась, начиная с RouterOS v6.47.
Из консоли:
А также рекомендуем изучить статьи:
Заключение
Надеемся данная статья была полезной и поможет разобраться в настройках DNS маршрутизатора Mikrotik.
Освоить MikroTik вы можете с помощью онлайн-курса «Настройка оборудования MikroTik». В курсе изучаются все темы из официальной программы MTCNA. Автор – официальный тренер MikroTik. Материал подходит и тем, кто уже давно работает с оборудованием MikroTik, и тем, кто еще не держал его в руках. В состав входят 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.
В этой статье будет описано как правильно настроить работу DNS.
Служба DNS расшифровывается как "система доменных имен", которая сопоставляет URL'у IP-адреса серверов указанного ресурса во внешней сети. После этого трафик направляется на указанные адреса.
Прежде чем выбрать путь настройки, убедитесь, что на машине с UserGate на интерфейсе, который смотрит во внешнюю сеть (WAN), имеются DNS провайдера или внешние крупные DNS, на интерфейсе, который смотрит в локальную сеть (LAN), отсутствует шлюз и DNS (прописаны только адрес и маска). Внимание! Убедитесь, что на внешнем интерфейсе прописано не более трех DNS-адресов, иначе могут быть вызваны ошибки с обработкой запроса и страницы в браузере могут открываться долго . Если все так, тогда можно идти дальше.
Существуют четыре основных пути настройки DNS:
1. В локальной сети отсутствует DNS-сервер на машине с контроллером домена.
В этом случае настройка производится следующим образом:
- Включить DNS-форвардинг на использование системных настроек в консоли администратора во вкладке Настройка DNS.
- *На клиентских компьютерах требуется прописать в качестве шлюза и DNS LAN-интерфейс машины с UserGate.
2. В локальной сети присутствует DNS-сервер на машине с контроллером домена - отдельная машина в локальной сети.
В данном случае нужно настраивать DNS следующим образом:
- Включить DNS-форвардинг на использование системных настроек в консоли администратора во вкладке Настройка DNS.
- На DNS-сервере сделать Направление (Forward) на LAN-интерфейс UserGate, спустя некоторое время в данной настройке должно будет распознано приблизительное как имя "entensys.dns-forwarding". Делается это следующим образом: заходите на контроллер домена, выбираете роль DNS-сервера, заходите в DNS, выбираете текущую машину, правой кнопкой мыши по нему, Свойства (Properties), вкладка Направление (Forwarders), нажмите Редактировать (Edit), добавьте локальный адрес машины с UserGate.
- *На клиентских компьютерах требуется прописать в качестве шлюза LAN-интерфейс машины с UserGate, а в качестве DNS - интерфейс машины с DNS-сервером.
3. В локальной сети присутствует DNS-сервер на машине с контроллером домена и это та же машина, на которой стоит UserGate.
Такая конфигурация считается не самой лучшей в плане нагрузки на сервер, однако для нее тоже есть конфигурация, и делается она следующим образом:
- Отключить DNS-форвардинг в консоли администратора во вкладке Настройка DNS.
- *На клиентских компьютерах требуется прописать в качестве шлюза и DNS LAN-интерфейс машины с UserGate.
4. Машины из локальной сети имеют шлюзом отличную от машины с UserGate машину (например RRAS сервер, поднятый в Windows Server ****).
В этом случае в браузере клиента требуется прописать локальный адрес машины с UserGate, а в таком случае прокси сам распознает DNS-адреса через DNS-форвардинг. Поэтому последовательность действия следующая:
- Включить DNS-форвардинг на использование DNS-адресов из списка в консоли администратора во вкладке Настройка DNS, где в списке надо прописать DNS провайдера или любой крупный внешний интерфейс.
* - приоритетным вариантом считается использование нашего DHCP-сервера, или DHCP-сервера от Windows Server.
В самом DNS-форвардинге имеется возможность поменять порт (по умолчанию стоит 5458, однако лучше без крайней необходимости этого не делать), изменить тайм-аут DNS-запроса (по умолчанию 7000, который тоже не рекомендуется менять, если нет представления о том, как это работает), включить/отключить кэш DNS-записей и изменить их число при включенном кэш. Кэш снижает нагрузку на сервер, благодаря тому, что ответ на запрос берется из кэша, если данный адрес уже вызывался.
Если после корректной настройки согласно данной статье у вас появляется в браузере ошибка 10065, то обратитесь к данной статье.
Научиться настройке MikroTik можно на онлайн курсе по оборудованию этого производителя. Автор курса является сертифицированным тренером MikroTik. Подробней Вы можете прочитать в конце статьи.
Вводная информация DNS forwarding
У вас всегда есть возможность создавать записи вручную в файле хостов или добавлять ручные записи на ваш DNS-сервер, однако, если количество сайтов является значительным, это может превратиться в настоящую проблему, не говоря уже о том, что ваши записи не будут обновляться в случае изменения записей DNS на корпоративном сервере.
Как ни странно, у Микротика нет простого решения для условной пересылки DNS или пересылки DNS-запросов для определенного домена на конкретный сервер, однако мы сможем решить данную задачу с помощью командной строки.
Буду считать, что читатель знаком с командной строкой Mikrotik и нет необходимости расписывать используемый функционал, – это выходит за рамки этой публикации. В решении мы будем работать на 7 уровне сетевой модели OSI или прикладном уровне.
Прежде чем начать, вам понадобится следующая информация:
Приступим к решению
1. Откройте текстовый редактор, например, notepad и вставьте следующие команды:
2. В списке команд выше необходимо изменить внутренний IP-адрес вашего маршрутизатора (зеленый цвет), имя внутреннего домена (оранжевый цвет) и адрес внутреннего DNS сервера (синий цвет) в соответствии с вашими настройками в текстовом редакторе.
3. Откройте ssh-сеанс на маршрутизаторе MikroTik и вставьте отредактированное содержимое текстового редактора в командную строку.
4. Перезагрузите маршрутизатор, чтобы изменения вступили в силу
Поиск неисправностей
Нам необходимо проверить, сможем ли попасть на сайты интрасети с другой стороны VPN. Если вы не можете, убедитесь, что туннель vpn запущен и работает, и что сайты действительно доступны через их внутренние IP-адреса, например, проверка по ping-протоколу нашего DNS-сервера 10.100.100.2. Следующим шагом является устранение проблемы с разрешением DNS при помощи таких команд, как nslookup. Сначала убедитесь, что DNS-сервер с другой стороны туннеля отвечает на запросы NS, выдавая команду:
где 10.100.100.2 DNS-сервер Интранета.
После приглашения > введите имя одного из ваших сайтов интрасети, и сервер имен должен сообщить его IP-адрес:
Если проверка проходит, то это означает, что туннель и DNS-сервер работают как нужно. Проверим перенаправление запросов через наш маршрутизатор, для этого выполним команду на клиентском устройстве:
Если результат не совпадает с вышеописанным, необходимо вернутся к списку команд в текстовом редакторе и убедитесь, что всё введено правильно. Исправьте ошибки и попробуйте еще раз.
MikroTik: куда нажать, чтобы заработало?
При всех своих достоинствах, есть у продукции компании MikroTik один минус – много разобщенной и далеко не всегда достоверной информации о ее настройке. Рекомендуем проверенный источник на русском языке, где все собрано, логично и структурировано – видеокурс « Настройка оборудования MikroTik ». В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект. Все материалы остаются у вас бессрочно. Начало курса можно посмотреть бесплатно, оставив заявку на странице курса. Автор курса является сертифицированным тренером MikroTik.
Читайте также: