https://wiki.debian.org/NetworkConfiguration#Bridging_without_Switching
Приведенный выше URL говорит следующее. Но мне не ясно, когда они являются необязательными, а когда нет. Не могли бы вы предоставить мне ссылку на ссылки, которые описывают это? Спасибо.
Если вы настраиваете его вручную, то примерно так будет установлен шлюз по умолчанию (сеть, широковещание и шлюз необязательны):
auto eth0
iface eth0 inet static
address 192.0.2.7
netmask 255.255.255.0
gateway 192.0.2.254
networking
gateway
user1424739
источник
источник
Ответы:
Как настроить статический IP-адрес и почему
Обратите внимание! Я не говорю о других способах настройки сети, таких как NetworkManager. Любое устройство, упомянутое в
/etc/network/interfaces
, не затронуто NMЧтобы иметь возможность общаться через IP-сеть (IPv4 и IPv6), компьютер должен знать, какой у него IP-адрес. Поэтому для
address
того, чтобы сообщить компьютеру, нужна директива.Когда компьютер затем хочет поговорить с другим компьютером, он использует IP-адрес этих компьютеров, чтобы проверить, находится ли этот компьютер в той же сети, локальной сети. Если это так, компьютер может напрямую связываться с другим компьютером.
Так как же компьютер узнает, когда он общается с компьютером в той же локальной сети? При использовании сетей
netmask
, где сетевая часть адреса установлена на единицы, а часть хоста установлена на нули. Таким образом, выполняя побитовую операцию И между каждым битом в IP-адресе и маской сети, мы получим сетевой адрес IP-адреса, где часть узла равна нулю. Поэтому, если мы сделаем это на IP-адресе компьютеров и IP-адресах других компьютеров, мы получим каждый сетевой адрес. Если они равны, это означает, что компьютеры находятся в одной сети и могут напрямую общаться друг с другом.Если сетевые адреса не равны, они находятся в разных локальных сетях и не могут напрямую взаимодействовать друг с другом. Затем компьютер должен использовать специальный компьютер, который подключен к другим локальным сетям. Этот компьютер является маршрутизатором (который также может иметь брандмауэр и NAT). Поэтому, когда компьютер хочет общаться с другими компьютерами за пределами локальной сети, ему нужно знать адрес этого компьютера, который установлен с помощью
gateway
директивы. Если другой интерфейс уже установилgateway
значение, вы не должны и не должны устанавливать другую директиву шлюза для этого интерфейса. Вgateway
директиве устанавливает маршрут по умолчанию для компьютера, так что вам нужно только один для IPv4 и только один для IPv6 на каждой машине. Этот сетевой адрес может быть установлен вручную с помощьюnetwork
директивы.Иногда компьютер хочет общаться со всеми компьютерами в локальной сети, и он использует широковещательный адрес. Этот адрес прослушивается всеми компьютерами в одной локальной сети. По сути, это то же самое, что и сетевой адрес, за исключением того, что часть хоста - это не все нули, а все единицы. Этот широковещательный адрес устанавливается директивой
broadcast
в интерфейсе.network
Адрес интерфейса требуется рассчитывать только один раз и обычно рассчитывается правильно из этогоaddress
иnetmask
директив. То же самое сbroadcast
адресом. Так что вам не нужно их устанавливать. Фактически, если вы установите одно или оба неправильных значения, вы можете потерять соединение с Интернетом и другими компьютерами в вашей локальной сети. Поэтому, если у вас нет странных значений, позвольте компьютеру рассчитать их для вас.Таким образом, минимальные статические настройки или раздел
/etc/network/interfaces
могут выглядеть следующим образом для устройстваeth1
в частной сети:Как работает разрешение имен и как оно связано с DNS.
Доменные имена используются для преобразования между легко читаемыми и запоминающимися доменными именами и компьютерами, которые не так легко запомнить IP-адрес, упомянутый выше. Это называется разрешением имени .
Обычно это контролируется файлом
/etc/nsswitc.conf
и строкой, начинающейся сhosts:
. Если вы попросите компьютер подключиться к компьютеруmy.example.com
, он изучит этот файл и попытается определить IP-адрес по имениmy.example.com
. Этот файл на самом деле не отвечает на вопрос «какой IP-адрес у my.example.com», он просто сообщает компьютеру, где он может найти ответ.Обычно он пытается
/etc/hosts
сначала файл для статических локальных имен, затем avahimDNS
для динамических локальных имен, а затем ресовлер DNS-имени домена, чтобы получить имя из Интернета.Если некоторые из них не отвечают на ваши вопросы, это может показаться, что компьютер застрял на некоторое время. Так что, если вы получите это, сначала проверьте разрешение имени.
Таким образом, добавив статические адреса, вы можете просто добавить его в свой
/etc/hosts
файл. Кстати, если у вас есть статический адрес, вам, вероятно, следует изменить IP-адрес вашей машины на ваш IP-адрес, а не по умолчанию127.0.1.1
(который находится в локальной сети, где находится localhost,127.0.0.1
). Это работает нормально только для клиентов, а не для серверов.Динамические адреса, которые вы получаете от машин Linux с
avahi
пакетом и от машин Apple (и MS Windows с iTunes?). Это обрабатывается «магией», и вам не нужно это исправлять.DNS используется для доступа в Интернет, и вам нужно сообщить компьютеру, где находятся те DNS-серверы, которые вы хотите использовать, какой IP-адрес использовать и какой у вас DNS-домен по умолчанию.
Это делается в файле
/etc/resolv.conf
и может быть статически настроено. Это не очень хорошо работает в нашем не столь статичном мире, поэтому обычно у вас есть пакет с именемresolvconf
install. Это позволит вам настроить эти параметры в/e/n/interfaces
файле.Поэтому, если мы предполагаем, что мы хотим добавить один из DNS-серверов Googles,
8.8.8.8
а также DNS-сервер вашего интернет-провайдера192.0.2.1
и домен вашегоmy.example.org
домена по умолчанию, вы просто отредактируете/etc/network/interfaces
файл и добавите эти две строки в раздел для статического устройства.Вы также можете заметить, что DNS-распознаватель будет использовать не более трех DNS-серверов. Пожалуйста, посмотрите это на
man
страницеresolv.conf
. Как обычно, вы можете использовать командуman nsswitch.conf
,man resolv.conf
иman resolvconf
для получения дополнительной информации.Также обратите внимание, что я использую домен example.com и example.org и IP-сеть 192.0.2.0/24 для DNS-сервера ISP. Они явно определены для использования в примерах. См http://example.com/ или http://tools.ietf.org/html/rfc2606 и rfc5735
Как вы тогда проверяете, что это работает?
Вы можете сделать это разными способами, но я обычно использую
проверить всю настройку для разрешения имен. Если я просто хочу проверить, работает ли DNS, я использую одну из следующих команд:
Но помните, что те только проверяют DNS через настройки в
/etc/resolv.conf
файле, а не/etc/nsswitch.conf
часть. Это может быть то, что вы хотите, или нет.источник
/etc/internet/interfaces
бы то ни было, Ubuntu собирается быть устаревшим, в пользу своего собственногоNetPlan
, см./etc/netplan/*.yaml
ИNM
(который может быть изменен с помощьюnm-tools
).