У меня есть сервер шлюза, который настраивается первоначально с рабочим столом Ubuntu 12.04 - возможно, ошибка, я не знаю, что-то для мысли.
Я сорвал network-manager
и теперь хочу добраться resolvconf
, dhclient
и dnsmasq
играть хорошо вместе.
dhclient
получает шлюз eth0 WAN
IP-адрес и сервер имен DNS ISP обращаются от модема.
dnsmasq
потребности служить DHCP остальной части LAN на eth1 и действиях как кэш DNS и для LAN и для машины шлюза.
Я также настроил iptables
как брандмауэр.
Прямо сейчас, шлюз /etc/resolv.conf
шоу только сервер имен 127.0.0.1
который является корректным AFAIK.
Однако я не думаю, что dhclient дает dnsmasq, сервер имен DNS ISP, и при этом dnsmasq не берут OpenDNS и серверы имен Google, в которых я указал /etc/network/interfaces
- в данный момент поиски, т.е. ping или перемещение, не работают, если я вручную не редактирую /etc/resolv.conf
вставить восходящий сервер имен как 8.8.8.8
Таким образом, я удалил resolvconf пакет.
Теперь я не получаю DHCP на своей LAN, и я не могу сделать поиски DNS на самом хосте - я могу переместиться и проверить с помощью ping-запросов в сети, но не 127.0.0.1.
Куда я иду отсюда? Эта установка с конфигурацией для dhclient
и dnsmasq
, и то же resolv.conf
и hosts
файлы работали над моим старым полем Debian.
Я разработал, какова проблема была.
После слишком долгой попытки удаться, что было неправильным с resolvconf или dnsmasq, я наконец решил перепроверить брандмауэр. Так как я ничего не изменял в своих правилах iptables в течение 5 лет, я не думал, что это будет проблемой. Но я не мог выяснить, почему dnsmasq слушал на порте 53, но не писал любые поиски DNS в своих журналах. Таким образом, это должен был быть брандмауэр.
Вперед время назад, я записал правило позволить, все через это не было от внешнего интерфейса.
iptables -A INPUT -i !eth0 -j ACCEPT
Это хорошо работало на старой машине, которую я имел, потому что я не использовал dnsmasq для поисков DNS на фактическом сервере. Таким образом, dnsmasq работал счастливо над запросами, входящими на eth1. Но на моей новой машине, я начал тестировать его с поисками на lo. С Ubuntu 12.04, что правило не позволяет "все интерфейсы кроме eth0". Я играл вокруг с правилом и нашел, что это должно быть это:
iptables -A INPUT ! -i eth0 -j ACCEPT
, Возможно, если я поместил час работы в спине в запуске для конфигурирования моей новой машины с ufw, я буду в порядке в тот же день. Мог иметь будет иметь, должен иметь....