В этой статье мы рассмотрим сетевые интерфейсы в Ubuntu Server, покажем настройку сети через файл конфигурации /etc/network/interfaces, а именно назначение статических настроек и получение их по DHCP. Пропишем адреса DNS-серверов, настроем hosts и рассмотрим указание временных настроек сети.
1. Просмотр сетевых интерфейсов.
Для начала проясним: Есть два состояния сетевой карты UP (задействована) и DOWN (не задействована).
Первым делом стоит посмотреть видна ли наша сетевая карта, смотреть будем командой ifconfig. (ip a) Вывод команды показывает только интерфейсы UP.
# ifconfig
И так что же мы видим:
- ens33 — наша сетевая карта, с IP адресом 192.168.3.9.
- lo — локальная петля, она у всех присутствует по умолчанию.
В дальнейшем я буду показывать примеры настройки на интерфейсе «ens33».
Но у вас может быть не так, к примеру отобразится только интерфейс «lo», тогда нам пригодится команда ifconfig -a.
Команда ifconfig -a покажет нам все интерфейсы и UP и DOWN. Вводим и видим что у нас есть не настроенный сетевой интерфейс «ens38».
# ifconfig -a
Альтернативой команде ifconfig -a могут послужить две другие команды:
# ip link show
ip link show покажет вам даже состояние интерфейса «state UP mode» и «state DOWN mode»
# lshw -C network | grep name
lshw -C network | grep name — покажет вам имена всех интерфейсов исключая «lo».
Для того чтобы включить интерфейс используется команда ifup с указанием интерфейса ens38,
# ifup ens38
а, чтобы выключить ifdown.
# ifdown ens38
2. Настройка сети через файл конфигурации.
Для настройки статического или динамического IP адреса нам надо отредактировать файл конфигурации сетевых интерфейсов — /etc/network/interfaces мы будем редактировать его с помощью текстового редактора nano.
Сразу скажу что для того чтобы сохранить документ в nano надо нажать «Ctrl+o», а чтобы закрыть «Ctrl+x».
# nano /etc/network/interfaces
Если вы авторизованы не под root, не забудьте добавить sudo и ввести пароль суперпользователя, а то не получится сохранить измененный файл interfaces.
$ sudo nano /etc/network/interfaces
3. Получение настроек сети по DHCP.
Для получения настроек сети по DHCP, в файле /etc/network/interfaces достаточно указать всего две строки.
auto ens33
iface ens33 inet dhcp
Лично у меня они были написаны по умолчанию, так как сеть была настроена при установке. Пояснения в пункте Описание опций.
Если у вас не запущен DHCP клиент, то запустить его можно командой dclient с указанием интерфейса ens33.
# dclient ens33
4. Указание настроек сети вручную.
Пишем конфигурацию интерфейса для статичного IP адреса.
auto ens33
iface ens33 inet static
address 192.168.3.209
netmask 255.255.255.0
gateway 192.168.3.1
dns-nameservers 8.8.8.8 192.168.3.1
dns-search itdeer.loc itdeer.ru
Пояснения в пункте Описание опций.
5. Описание опций.
Рассмотрим описание опций, для того чтоб вы понимали что написано в пунктах Получение настроек по DHCP и Указание настроек сети вручную.
- auto ens33 — означает что наш интерфейс «ens33» будет автоматически подключен при загрузке системы.
- iface ens33 inet static — указывается семейство протоколов tcp/ip(inet или inet6) и способ получения адреса(static или dhcp).
- address 192.168.3.209 — указываем IP адрес.
- netmask 255.255.255.0 — указываем маску сети.
- gateway 192.168.3.1 — указываем основной шлюз.
- dns-nameservers 8.8.8.8 192.168.3.1 — указываем DNS сервера можно указать несколько через пробел.
- dns-search itdeer.loc itdeer.ru — указываем DNS суффиксы, через пробел, допустим если у нас существует домен itdeer.ru то мы можем обратиться к компьютеру внесённому в этот домен, к примеру controller тогда ubuntu попытается разрешить имя controller.itdeer.ru.
- dns-domain itdeer.ru — альтернатива dns-search, но указывается только один суффикс (название домена).
После редактирования файла /etc/network/interfaces, применить изменения можно двумя способами:
Первый — Перезагрузить систему.
# reboot
или
# init 6
Второй — Если же вы не хотите перезагружать систему, то нужно сначала отчистить конфигурацию интерфейса,
# ip addr flush ens33
а после перезапустить службу сети.
# service networking restart
Если вы сменили только шлюз по умолчанию, настройки DNS серверов или суффиксов, то достаточно просто перезапустить сетевую службу.
# service networking restart
Далее смотрите вывод команды ifconfig, изменения должны должны быть применены.
6. Настройка DNS.
IP адреса DNS серверов лучше указать в файле /etc/resolv.conf
Открываем resolv.conf в редакторе nano.
# nano /etc/resolv.conf
Вписываем DNS сервер. (Можно указать сколько угодно DNS серверов.)
nameserver 192.168.3.1
nameserver 8.8.8.8
Если у вас нет файла resolv.conf то создайте его в каталоге /etc
touch /etc/resolv.conf
7. Файл /etc/hosts.
Файл /etc/hosts содержит таблицы сопоставления DNS имен с IP адресами. В первую очередь ваш сервер будет обращаться к файлу hosts, а потом уже к DNS-серверу.
Записи 127.0.0.1 и 127.0.1.1 добавились автоматически при установке.
Лично для себя я отметил полезным внести в hosts запись этого ubuntuserver (IP адрес локальной сети — имя сервера). Теперь мы можем во всех конфигурационных файлах указывать DNS имя, а не IP адрес, а в случае необходимости за кротчайшее время изменить свой IP адрес поправив hosts и настройки интерфейса в /etc/network/interfaces.
Это просто для примера вам этого делать не обязательно.
Приступаю к редактированию:
# nano /etc/hosts
Вписываю:
192.168.3.9 ubuntuserver.itdeer.loc
Проверю попинговав имена из hosts.
# ping ubuntuserver.itdeer.loc
# ping ubuntuserver
8. Временное назначение ip адреса.
Честно говоря я не знаю для чего может пригодиться временное назначение сетевых настроек.
Разве что допустим у вас какой-нибудь сервер который предназначен только для вашей локальной сети и вы вдруг решили быстренько обновить ПО через интернет на этом сервере, чтобы не ходить к шлюзу не раздавать интернет на нужный IP адрес итд. Вы можете обойтись парой команд.
Например, мы знаем что на 192.168.3.109 точно есть доступ в интернет, назначаем этот IP адрес нашему интерфейсу, так же нужно указать маску сети:
# ifconfig ens33 192.168.3.109 netmask 255.255.255.0
или командой с короткой записью маски сети.
# ifconfig ens33 192.168.3.109/24
Интернет может не появиться, так как не указан шлюз по умолчанию. Прописываем его и пингуем гугловкие восьмёрки.
# route add default gw 192.168.3.1 ens33
# ping 8.8.8.8
Правильно ли мы прописали наш шлюз по умолчанию можно посмотреть в таблице маршрутизации. Она выводится с помощью команды «route -n», Шлюз по умолчанию будет обозначен флагом UG.
# route -n
На этом временная настройка закончена, помните что после перезагрузки сервера или отдельно службы networking, все временные настройки исчезнут.
ИСТОЧНИК.