Вам с самого начала сказали прописать в resolv.conf адрес dns сервера, например публичного гугл 8.8.8.8 или 8.8.4.4 (есть и куча других - OpenDNS, Яндекс.DNS, SkyDNS, OpenNIC DNS, Level3 DNS, Comodo Secure DNS ....), а для того чтобы резолв был с компьютера, который натит, необходимо на нём установить какой-нибудь dns сервер, не обязательно bind, подойдет любой кэширующий - dnsmasq, unbound, pdnsd, powerdns...
вторичный шлюз
Вам с самого начала сказали прописать в resolv.conf адрес dns сервера, например публичного гугл 8.8.8.8 или 8.8.4.4 (есть и куча других - OpenDNS, Яндекс.DNS, SkyDNS, OpenNIC DNS, Level3 DNS, Comodo Secure DNS ....), а для того чтобы резолв был с компьютера, который натит, необходимо на нём установить какой-нибудь dns сервер, не обязательно bind, подойдет любой кэширующий - dnsmasq, unbound, pdnsd, powerdns...
Использовать 8.8.8.8 я не хотел, а bind только начал пробовать.
Честно говоря, я надеялся, что достаточно будет NAT, ведь 1-й перенаправляет пакеты со 2-го на 192.168.0.1,
поэтому, казалось бы, какая разница, с какого компьютера они приходят на хаб, если для него они все выглядят
как пришедшие с 1-го.
Пётр.
Пока не помогло, на 2-м можно пинговать только по адресу. Вот /etc/bind/db.root:
db.root
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 192.168.0.1
Вот /etc/bind/named.conf.options:
options {
directory "/var/cache/bind";
forwarders {
192.168.0.1;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
listen-on port 53 { any; };
allow-query { 192.168.0.0/24; 192.168.1.0/24; localhost; };
};
Пётр.
Вы специально создаете запутанные ситуации?, для проверки знаний? Почему forwarders у вас указывает сам на себя?
Вы специально создаете запутанные ситуации?, для проверки знаний? Почему forwarders у вас указывает сам на себя?
Я уже не помню, что было в этой инструкции в оригнальном файле, но я пробовал закомментировать
именно эту. Сейчас она есть, попробую без неё.
Но почему сам на себя? Она же находится на 1-м компьютере.
Однако сейчас я добился того, что со 2-го интернетовские сайты пингуются по именам.
В named.conf я добавил одну строку перед последней:
//added before include:
masters server { 192.168.0.1; };
include "/etc/bind/named.conf.local";
В named.conf.local у меня и раньше была раскомментирована строка:
//this string was uncommented:
include "/etc/bind/zones.rfc1918";
Ещё раз приведу named.conf.options:
options {
directory "/var/cache/bind";
forwarders { 192.168.0.1; };
auth-nxdomain no; # conform to RFC1035
listen-on port 53 { any; };
allow-query { 192.168.0.0/24; 192.168.1.0/24; localhost; };
listen-on-v6 { any; };
};
После загрузки системы я ввёл следующие команды, подозреваю, что некоторые из них лишние:
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -t nat -A POSTROUTING -s 192.168.1.129 -o eth0 -j SNAT --to-source 192.168.0.132
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT
Затем я перезапустил сеть на 2-м и имена стали разрешаться.
Благодарю всех за помощь.
хаб 192.168.0.1 - это устройство в 19''-дюймовой стойке, из которого выходят
20 Ethernet-овских кабелей. Так мне сказал человек, который его видел.
"-s 192.168.1.129" исполняется или игнорируется?
Пётр.
Использовать 8.8.8.8 я не хотел, а bind только начал пробовать.
Честно говоря, я надеялся, что достаточно будет NAT, ведь 1-й перенаправляет пакеты со 2-го на 192.168.0.1,
поэтому, казалось бы, какая разница, с какого компьютера они приходят на хаб, если для него они все выглядят
как пришедшие с 1-го.
Вы прикалываетесь?
Кто будет обеспечивать доступ к системе доменных имен?
Ыыыы.... жесть.
Укажите в конфиге второй машины такой же ns, как и на первой. Да, запросы будут уходить к вашему шлюзу. НО! Они будут уходить к нему через первую машину, и будут nat-тится на ней! Для вашего шлюза они будут выглядеть как запросы с первой машины.
Для чего вам держать ns? Чтобы резолвить хосты для одного (десятка) компа? Жгете напалмом.
И да, одного nat-а действительно достаточно. Но если ваш системный резолвер не знает у кого запрашивать dn-ы, то установка локального ns-а - это как из пушки по воробьям.
[quote="Peter"]Использовать 8.8.8.8 я не хотел, а bind только начал пробовать.
Честно говоря, я надеялся, что достаточно будет NAT, ведь 1-й перенаправляет пакеты со 2-го на 192.168.0.1,
поэтому, казалось бы, какая разница, с какого компьютера они приходят на хаб, если для него они все выглядят
как пришедшие с 1-го.
Вы прикалываетесь?
Кто будет обеспечивать доступ к системе доменных имен?[/quote]
Я же говорил, что в сетях совершенно неопытен, приходилось настраивать сеть только на клиенте.
Действительно, если мой 2-й компьютер не имеет доступа к настоящему dns-серверу, то эту роль
должен брать на себя 1-й, а я думал, что благодаря NAT 1-й будет для 2-го прозрачным.
Пётр.
Ыыыы.... жесть.
Укажите в конфиге второй машины такой же ns, как и на первой. Да, запросы будут уходить к вашему шлюзу. НО! Они будут уходить к нему через первую машину, и будут nat-тится на ней! Для вашего шлюза они будут выглядеть как запросы с первой машины.
Для чего вам держать ns? Чтобы резолвить хосты для одного (десятка) компа? Жгете напалмом.
И да, одного nat-а действительно достаточно. Но если ваш системный резолвер не знает у кого запрашивать dn-ы, то установка локального ns-а - это как из пушки по воробьям.
Возможно, попробую завтра. Мне это здесь уже советовали.
Пётр.
[quote="Peter"]Я же говорил, что в сетях совершенно неопытен
Тогда постарайтесь вопрос формулировать более ясно, хотя тут задача, которая обычно возникает только из спортивного интереса.
И перестаньте шлюз обзывать хабом.
Вообще хаб может быть например usb, те разветвитель.[/quote]
Согласен, это шлюз.
Пётр.
Ыыыы.... жесть.
Укажите в конфиге второй машины такой же ns, как и на первой. Да, запросы будут уходить к вашему шлюзу. НО! Они будут уходить к нему через первую машину, и будут nat-тится на ней! Для вашего шлюза они будут выглядеть как запросы с первой машины.
Для чего вам держать ns? Чтобы резолвить хосты для одного (десятка) компа? Жгете напалмом.
И да, одного nat-а действительно достаточно. Но если ваш системный резолвер не знает у кого запрашивать dn-ы, то установка локального ns-а - это как из пушки по воробьям.
Действительно, на 2-м указал dns-nameservers 192.168.0.1 и теперь разрешение имён выполняется
и без named. Но, если бы за NAT был не один, а 10 или больше компьютеров, не лучше ли было бы
для снижения нагрузки на шлюз держать локальный dns-сервер? Или это несущественно?
Также в команде для включения NAT опция "-s 192.168.1.129" оказалась ненужной, и без неё работает.
Она и не предусмотрена в описании этой команды при использовании SNAT.
Пётр.
не лучше ли было бы
для снижения нагрузки на шлюз держать локальный dns-сервер? Или это несущественно?
Так обычно и делают, - ставят кэширующий dns сервер, - dnsmasq, unbound, pdnsd, powerdns.... (писал же выше).
Из bind`а тоже можно кэширующий сделать.
Про шлюз почитайте.
Обычно на простые шлюзы ставят dnsmasq (сокращение от dns masquerade), который для работы в режиме кэширования dns запросов не требует никакой настройки - внешним dns сервером для него по-умолчанию будет тот, который прописан в /etc/resolv.conf, ну и 53-udp порт должен быть открыт.
[quote="Peter"]не лучше ли было бы
для снижения нагрузки на шлюз держать локальный dns-сервер? Или это несущественно?
Так обычно и делают, - ставят кэширующий dns сервер, - dnsmasq, unbound, pdnsd, powerdns.... (писал же выше).
Из bind`а тоже можно кэширующий сделать.
Про шлюз почитайте.
Обычно на простые шлюзы ставят dnsmasq (сокращение от dns masquerade), который для работы в режиме кэширования dns запросов не требует никакой настройки - внешним dns сервером для него по-умолчанию будет тот, который прописан в /etc/resolv.conf, ну и 53-udp порт должен быть открыт.[/quote]
Благодарю, очень информативная ссылка. dnsmasq на 1-м компьютере не устновлен,
если часто будет требоваться Интернет через 1-й, попробую с ним.
Пётр.
Не знаю, почему, но перестало работать разрешение имён на 2-м компьютере.
Снова запустил на 1-м named и указал для 2-го как dns-сервер 1-й - так, конечно, работает.
Пётр.
Разрешение имён на 2-м компьютере перестало работать, т.к. я занёс ошибку.
Имя dns-сервера надо указывать в /etc/resolv.conf, а я его там закомментировал,
но оказалось, что в /etc/network/interfaces его задать не удаётся, строка
dns-nameservers <address>
не воспринимается.
Пётр.
не воспринимается.
Скорее всего потому, что стоит Network Manager.
Имя dns-сервера надо указывать в /etc/resolv.conf, а я его там закомментировал,
Не смутили строчки в начале файл - не редактировать его вручную?
После перезапуска сетевых служб resolv.conf перезаписывается на основе настроек /etc/network/interfaces, либо Network Manager может сделать тоже самое.
[quote="Peter"]не воспринимается.
Скорее всего потому, что стоит Network Manager.[/quote]
Он установлен, но не запускается. Также я сегодня подключил 3-й компьютер,
на котором Network Manager не установлен, там тоже dns-nameservers игнорируется.
Но в "man interfaces" и нет инструкций по заданию dns-сервера.
Пётр.