
- •4.1. Создание, изменение и удаление учётных записей
- •4.1.1. Введение
- •4.1.2. Добавление пользователя
- •4.1.3. Изменение параметров пользовательской учётной записи
- •4.1.4. Удаление учётной записи
- •6.1. Определение существующих установок tcp/ip
- •Комментарий
- •6.1.1. Ifconfig(8) — настройки сетевых интерфейсов
- •6.1.2. Netstat(1)
- •6.1.2.1. Таблица маршрутизации
- •6.1.2.2. Статистика
- •6.1.2.3. Работающие интернет сервисы и открытые сокеты
- •6.1.2.3.1. Открытие tcp соединения (тройное рукопожатие)
- •6.1.2.3.2. Закрытие tcp соединения
- •6.1.3. Route(8)
- •6.1.4. /Etc/resolv.Conf(5)
- •6.2.2.1. Изменение настроек физического уровня
- •6.2.2.2. Изменение настроек канального уровня
- •6.2.2.2.1. Изменение mac-адреса:
- •6.2.2.2.2. Смена флагов канального уровня
- •6.2.2.3. Изменение настроек сетевого уровня
- •6.2.2.3.2. Ip, маска подсети, широковещательный адрес
- •6.2.2.3.4. Другие протоколы сетевого уровня
- •6.2.3. Route(8) — настройка таблицы маршрутизации
- •6.2.4. Resolv.Conf(5) — настройка клиента dns
- •6.2.5. Hosts(5) — локальная база имён
- •6.2.6. Как сохранить установленные сетевые параметры
- •6.2.6.1. FreeBsd
- •6.3. Определение какие tcp или udp порты открыты в системе
- •Комментарий
- •6.3.1. Fstat(1)
- •6.3.2. Sockstat(1)
- •6.3.3. Lsof(1)
- •6.3.4. Nmap(1)
- •6.4. Проверка доступности tcp/ip сервиса
- •Комментарий
- •6.4.1. Ping(8)
- •6.4.2. Traceroute(1)
- •6.4.3. Hping(8)
- •6.4.4. Telnet(1), nc(1)
6.2.4. Resolv.Conf(5) — настройка клиента dns
Файл /etc/resolv.conf нужен для настройки клиента DNS. Когда мы обращаемся к какой-то удалённой машине по имени, первое, что происходит, это преобразование имени в адрес IP (или IPv6). Обычно ситуация устроена следующим образом: сперва система ищет имена в файле /etc/hosts, где записано какие имена имеют машины с тем или иным IP-адресом, а затем, если имя в данном файле ненайдено, осуществляется запрос к серверу DNS. В файле /etc/resolv.conf перечислены DNS серверы, к которым осуществляется запрос. Порядок действий (сперва изучается /etc/hosts, затем делается запрос к DNS) можно изменить, это обсуждается в Раздел 6.7, «Изменение порядка разрешения имён». Синтаксис файла /etc/resolv.conf подробно описан в Раздел 6.1.4, «/etc/resolv.conf(5)».
6.2.5. Hosts(5) — локальная база имён
Как было сказано в предыдущем разделе, типичное поведение системы состоит в том, что сперва она пытается разрешить имя используя файл /etc/hosts и только потом обращается к серверу DNS. В файле /etc/hosts на каждой строке имеется некоторый IP (или IPv6) адрес, а затем через пробелы перечислены имена соответствующие ему. Комментарий начинается с решётки (#). Например:
# $FreeBSD: src/etc/hosts,v 1.16 2003/01/28 21:29:23 dbaker Exp $
#
# Host Database
#
# Данный файл должен содержать адреса и алиасы для локальных машин
# Замените 'my.domain' ниже вашим доменом.
#
# В присутствии DNS или NIS данный файл может неиспользоваться вовсе,
# для определеня порядка в котором рассматриваются базы имён смотрите
# файл /etc/nsswitch.conf
#
#
::1 localhost localhost.my.domain
127.0.0.1 localhost localhost.my.domain
#
# Воображаемая сеть.
#10.0.0.2 myname.my.domain myname
#10.0.0.3 myfriend.my.domain myfriend
#
# Согласно RFC 1918 следующие сети можно использовать для приватных
# сетей. Этих адресов не существует в Интернет:
#
# 10.0.0.0 - 10.255.255.255
# 172.16.0.0 - 172.31.255.255
# 192.168.0.0 - 192.168.255.255
#
Я перевёл часть комментариев на русский язык, сочтя их полезными.
Обратите внимание: многие сервисы используют файл /etc/hosts для своей работы. Когда вы переносите такие сервисы в среду chroot, вы должны перенести туда же копию данного файла.
6.2.6. Как сохранить установленные сетевые параметры
Увы, это самое мутное место. Кажется нет двух систем BSD с одинаковой системой инициализации.
6.2.6.1. FreeBsd
В FreeBSD все настройки собраны в единый файл /etc/rc.conf, в том числе это касается и настроек сетевых интерфейсов. Если точнее, то имеется системный файл /etc/defaults/rc.conf, который редактироваться не должен (система сделает попытку перезаписать его, если вы выполните процедуру make buildworld, см. Раздел 1.2, «Разбираться какие команды доступны для upgrade'а операционной системы»), а в файле /etc/rc.conf находятся пользовательские настройки, которые имеют больший приоритет. В том или ином виде этот файл существует во всех системах BSD, однако настройки сетевых интерфейсов в OpenBSD и NetBSD вынесены в другие места.
В файле /etc/rc.conf для каждого сетевого интерфейса должна быть строка вида ifconfig_rl0="...". Если для интерфейса нужны дополнительные имена (алиасы), применяется строка вида: ifconfig_rl0_alias0="...", ifconfig_rl0_alias1="...".
Следующая строка объясняет, что интерфейс rl0 надо настроить с использованием DHCP:
ifconfig_rl0="DHCP"
В следующем листинге имеется ошибка:
ifconfig_rl0_alias0="inet 172.16.0.1/24"
ifconfig_rl0_alias1="inet 172.16.0.2/24"
ifconfig_rl0_alias2="inet 172.16.0.3/24"
ifconfig_rl0_alias4="inet 172.16.0.4/24"
Ошибка состоит в том, что после alias2 сразу описан alias4. К сожалению, это приведёт к тому, что сработают только первые три строки.
Все настройки связанные с функционированием IPv6, ppp, gif(4) и проч. так же должны находиться в файле /etc/rc.conf. С этими настройками можно ознакомиться в справочной системе man rc.conf.
Имя машины и маршрут по умолчанию задаются здесь же, можно здесь же задавать статические маршруты:
hostname="host.example.ru"
defaultrouter="172.16.0.254"
static_routes="somenetwork othernetwork"
route_somenetwork="192.168.0.0/24 172.19.0.14"
route_othernetwork="192.168.1.0/24 172.19.0.25"