Настройка локального DNS на роутере под управлением FreeBSD

Предыстория вопроса такова.

Прикрутил материнку к полочке, чтобы лишнее место не занимало. Охлаждение — водяное, шума нет.

Мой домашний роутер (обычный бытовой за $100) меня окончательно утомил. Что я только с ним ни делал, но счастье осталось недостижимым. И DD-WRT я на него ставил, и QoS крутить пытался, да все никак. То utorrent сеть положит, то youtube еле тащится на 360p, я уж молчу о HD. Так что в конце концов бешенство победило лень и я решил из старого компа сделать себе — по плану, работающий — роутер. Старый роутер был низведен до роли WiFi точки доступа.

Я несколько раз уже пожалел об этом опрометчивом решении, но отступать некуда. Видите ли, с FreeBSD, linux и прочими юниксами я знаком очень мало, и это сказывается. Кстати, почему именно FreeBSD? Потому что для нее существует отличный мануал для чайников вроде меня: FreeBSD Handbook. Вот я его читаю, пробую что-то сделать, по пути наступаю на всевозможные грабли и пытаюсь их разрулить, потирая шишки на мозолистом лбу.

Ну, по крайней мере, с youtube у меня проблем больше нет 🙂

Помимо всего прочего, я хотел настроить себе локальный сервер DNS, по двум причинам. Во-первых, пусть кэширует — какое-никакое, а ускорение. А во-вторых, хочу иметь локальные имена для своих компов и девайсов. Конечно, можно hosts по сети править, но это решение далеко от элегантности, да и не везде hosts доступен к изменению (iOS к примеру). Так что хочу. Но если первый вопрос в handbook описывается, то о втором — ни слова. Курение мануалов и интернетов привело меня к следующему решению.

Включаю BIND, он же named

Правлю конфиг

named должен слушать только локальный интерфейс, ну и, разумеется, 127.0.0.1. Наружу имена не отдаю.

Форвард на DNS провайдера и на Google — на тот случай, если DNS провайдера ляжет.

Определяю свою зону в специальном домене local, который был задуман для нужд, подобных моим. DNS сервер не будет лезть наружу за резолвом имен в этом домене, а значит, мне не нужен свой зарегистрированный домен.

Настраиваю forward

Назначение имен IP адресам.

Имена добавляются в конец, сколько нужно.

Настраиваю reverse

Обратно — из IP адресов в имена. Реверс желательно настраивать во избежание проблем с некоторыми прикладными протоколами.

Прописываю resolv.conf

Я на наружный сетевой интерфейс прописываю статический IP. Если вам нужно получать конфигурацию по DHCP от провайдера или вообще через VPN, то resolv.conf просто так менять не получится, т.к. тот же DHCP клиент resolv.conf перезаписывает. Так что курите интернеты на тему resolvconf.

Настраиваю DHCP

Установка и настройка DHCP сервера описана в Handbook, не буду повторяться. Приведу только свой конфиг.

Добавить комментарий