LinuxForum.Fans
Тема

вторичный шлюз

Автор: Peter 59 сообщений 7549 просмотров
#352839

Вам с самого начала сказали прописать в 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...

#352863
zenon написал:
Вам с самого начала сказали прописать в 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-го.

Пётр.

#352874

Пока не помогло, на 2-м можно пинговать только по адресу. Вот /etc/bind/db.root:

text

db.root
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     192.168.0.1

Вот /etc/bind/named.conf.options:

text

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; }; };

Пётр.

#352878

Вы специально создаете запутанные ситуации?, для проверки знаний? Почему forwarders у вас указывает сам на себя?

#352882
JonnyBekoff написал:
Вы специально создаете запутанные ситуации?, для проверки знаний? Почему forwarders у вас указывает сам на себя?

Я уже не помню, что было в этой инструкции в оригнальном файле, но я пробовал закомментировать
именно эту. Сейчас она есть, попробую без неё.
Но почему сам на себя? Она же находится на 1-м компьютере.

Однако сейчас я добился того, что со 2-го интернетовские сайты пингуются по именам.
В named.conf я добавил одну строку перед последней:

text

//added before include:
masters server { 192.168.0.1; };

include "/etc/bind/named.conf.local";

В named.conf.local у меня и раньше была раскомментирована строка:

text

//this string was uncommented:
include "/etc/bind/zones.rfc1918";

Ещё раз приведу named.conf.options:

text

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; }; };

После загрузки системы я ввёл следующие команды, подозреваю, что некоторые из них лишние:

text

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" исполняется или игнорируется?

Пётр.

#352885
"Peter" написал:
Использовать 8.8.8.8 я не хотел, а bind только начал пробовать.
Честно говоря, я надеялся, что достаточно будет NAT, ведь 1-й перенаправляет пакеты со 2-го на 192.168.0.1,
поэтому, казалось бы, какая разница, с какого компьютера они приходят на хаб, если для него они все выглядят
как пришедшие с 1-го.

Вы прикалываетесь?
Кто будет обеспечивать доступ к системе доменных имен?

#352892

Ыыыы.... жесть.
Укажите в конфиге второй машины такой же ns, как и на первой. Да, запросы будут уходить к вашему шлюзу. НО! Они будут уходить к нему через первую машину, и будут nat-тится на ней! Для вашего шлюза они будут выглядеть как запросы с первой машины.
Для чего вам держать ns? Чтобы резолвить хосты для одного (десятка) компа? Жгете напалмом.
И да, одного nat-а действительно достаточно. Но если ваш системный резолвер не знает у кого запрашивать dn-ы, то установка локального ns-а - это как из пушки по воробьям.

#352893
zenon написал:
[quote="Peter"]Использовать 8.8.8.8 я не хотел, а bind только начал пробовать.
Честно говоря, я надеялся, что достаточно будет NAT, ведь 1-й перенаправляет пакеты со 2-го на 192.168.0.1,
поэтому, казалось бы, какая разница, с какого компьютера они приходят на хаб, если для него они все выглядят
как пришедшие с 1-го.

Вы прикалываетесь?
Кто будет обеспечивать доступ к системе доменных имен?[/quote]
Я же говорил, что в сетях совершенно неопытен, приходилось настраивать сеть только на клиенте.
Действительно, если мой 2-й компьютер не имеет доступа к настоящему dns-серверу, то эту роль
должен брать на себя 1-й, а я думал, что благодаря NAT 1-й будет для 2-го прозрачным.

Пётр.

#352894
afanasev.p написал:
Ыыыы.... жесть.
Укажите в конфиге второй машины такой же ns, как и на первой. Да, запросы будут уходить к вашему шлюзу. НО! Они будут уходить к нему через первую машину, и будут nat-тится на ней! Для вашего шлюза они будут выглядеть как запросы с первой машины.
Для чего вам держать ns? Чтобы резолвить хосты для одного (десятка) компа? Жгете напалмом.
И да, одного nat-а действительно достаточно. Но если ваш системный резолвер не знает у кого запрашивать dn-ы, то установка локального ns-а - это как из пушки по воробьям.

Возможно, попробую завтра. Мне это здесь уже советовали.

Пётр.

#352932
"Peter" написал:
Я же говорил, что в сетях совершенно неопытен

Тогда постарайтесь вопрос формулировать более ясно, хотя тут задача, которая обычно возникает только из спортивного интереса.
И перестаньте шлюз обзывать хабом.
Вообще хаб может быть например usb, те разветвитель.

#352955
zenon написал:
[quote="Peter"]Я же говорил, что в сетях совершенно неопытен

Тогда постарайтесь вопрос формулировать более ясно, хотя тут задача, которая обычно возникает только из спортивного интереса.
И перестаньте шлюз обзывать хабом.
Вообще хаб может быть например usb, те разветвитель.[/quote]
Согласен, это шлюз.

Пётр.

#352981
afanasev.p написал:
Ыыыы.... жесть.
Укажите в конфиге второй машины такой же ns, как и на первой. Да, запросы будут уходить к вашему шлюзу. НО! Они будут уходить к нему через первую машину, и будут nat-тится на ней! Для вашего шлюза они будут выглядеть как запросы с первой машины.
Для чего вам держать ns? Чтобы резолвить хосты для одного (десятка) компа? Жгете напалмом.
И да, одного nat-а действительно достаточно. Но если ваш системный резолвер не знает у кого запрашивать dn-ы, то установка локального ns-а - это как из пушки по воробьям.

Действительно, на 2-м указал dns-nameservers 192.168.0.1 и теперь разрешение имён выполняется
и без named. Но, если бы за NAT был не один, а 10 или больше компьютеров, не лучше ли было бы
для снижения нагрузки на шлюз держать локальный dns-сервер? Или это несущественно?

Также в команде для включения NAT опция "-s 192.168.1.129" оказалась ненужной, и без неё работает.
Она и не предусмотрена в описании этой команды при использовании SNAT.

Пётр.

#353008
"Peter" написал:
не лучше ли было бы
для снижения нагрузки на шлюз держать локальный dns-сервер? Или это несущественно?

Так обычно и делают, - ставят кэширующий dns сервер, - dnsmasq, unbound, pdnsd, powerdns.... (писал же выше).
Из bind`а тоже можно кэширующий сделать.
Про шлюз почитайте.
Обычно на простые шлюзы ставят dnsmasq (сокращение от dns masquerade), который для работы в режиме кэширования dns запросов не требует никакой настройки - внешним dns сервером для него по-умолчанию будет тот, который прописан в /etc/resolv.conf, ну и 53-udp порт должен быть открыт.

#353016
zenon написал:
[quote="Peter"]не лучше ли было бы
для снижения нагрузки на шлюз держать локальный dns-сервер? Или это несущественно?

Так обычно и делают, - ставят кэширующий dns сервер, - dnsmasq, unbound, pdnsd, powerdns.... (писал же выше).
Из bind`а тоже можно кэширующий сделать.
Про шлюз почитайте.
Обычно на простые шлюзы ставят dnsmasq (сокращение от dns masquerade), который для работы в режиме кэширования dns запросов не требует никакой настройки - внешним dns сервером для него по-умолчанию будет тот, который прописан в /etc/resolv.conf, ну и 53-udp порт должен быть открыт.[/quote]
Благодарю, очень информативная ссылка. dnsmasq на 1-м компьютере не устновлен,
если часто будет требоваться Интернет через 1-й, попробую с ним.

Пётр.

#353026

Не знаю, почему, но перестало работать разрешение имён на 2-м компьютере.
Снова запустил на 1-м named и указал для 2-го как dns-сервер 1-й - так, конечно, работает.

Пётр.

#353071

Разрешение имён на 2-м компьютере перестало работать, т.к. я занёс ошибку.
Имя dns-сервера надо указывать в /etc/resolv.conf, а я его там закомментировал,
но оказалось, что в /etc/network/interfaces его задать не удаётся, строка
dns-nameservers <address>
не воспринимается.

Пётр.

#353085
"Peter" написал:
не воспринимается.

Скорее всего потому, что стоит Network Manager.

#353086
"Peter" написал:
Имя dns-сервера надо указывать в /etc/resolv.conf, а я его там закомментировал,

Не смутили строчки в начале файл - не редактировать его вручную?
После перезапуска сетевых служб resolv.conf перезаписывается на основе настроек /etc/network/interfaces, либо Network Manager может сделать тоже самое.

#353092
XliN написал:
[quote="Peter"]не воспринимается.

Скорее всего потому, что стоит Network Manager.[/quote]
Он установлен, но не запускается. Также я сегодня подключил 3-й компьютер,
на котором Network Manager не установлен, там тоже dns-nameservers игнорируется.
Но в "man interfaces" и нет инструкций по заданию dns-сервера.

Пётр.

Войдите или зарегистрируйтесь, чтобы ответить.