Сетевые настройки на сервере Debian
Вопрос настройки сети я уже кратко поднимал в теме начальной настройки Debian. Я рекомендую с ней ознакомиться и выполнить некоторые подготовительные действия, чтобы было удобнее работать далее. Сейчас мы подробно разберем все наиболее значимые нюансы сетевых настроек, которые могут пригодиться в повседневной работе.
Первоначальная настройка сети начинается во время установки сервера. Если у вас есть сетевой интерфейс и dhcp сервер в сети, то сеть сконфигурируется автоматически на основе полученных настроек и будет готова к работе. В последствии вы можете выполнить настройку сети в Debian через консоль с помощью программ ip или ifconfig. Наиболее популярным и современным средством на текущий момент является ip, поэтому в дальнейшем рассмотрим вопрос конфигурации сетевых интерфейсов с ее помощью. Про ifconfig тоже не забудем. Рассмотрим ее позже отдельно.
Отдельно стоит такой инструмент управления сетевыми подключениями как Network manager. Он используется в сочетании с графическими оболочками, которых на сервере обычно нет, поэтому вопрос его настройки я не буду рассматривать. Мне просто не на чем это делать, да и не вижу смысла.
Есть 2 различные возможности изменить сеть в Debian:
- Настройка сети из консоли с помощью указанных ранее консольных программ.
- С помощью редактирования конфигурационного файла сетевых интерфейсов /etc/network/interfaces.
Мы рассмотрим оба этих варианта. Вводная теоретическая часть окончена, приступаем к практике.
Графические средства настройки сетевых интерфейсов
В состав дистрибутива Astra Linux входит сетевая служба NetworkManager и графический инструмент настройки сетевых интерфейсов апплет NetworkManager, обеспечивающий графический пользовательский интерфейс для выполнения всех стандартных операций по настройке сети в режиме настольного компьютера.При стандартной установке Astra Linux служба NetworkManager и соответствующий графический инструмент устанавливаются и запускаются автоматически, получая под свое управление все внешние сетевые интерфейсы.Графический инструмент после установки доступен через меню «Пуск» — «Панель управления» — «Сеть» — «Сетевые соединения», или через иконку быстрого запуска на всплывающей линейке в нижней части экрана.
Документация по использованию NetworkManager находится в каталоге /usr/share/doc/ network-manager/.
Конфигурационные файлы NetworkManager находятся в каталоге /etc/NetworkManager/.
Настройка адреса DNS-сервера
При использовании графического инструмента управления настройками сети для того, чтобы указать адрес DNS-сервера, следует выполнить следующие действия:
- Нажать правой кнопкой мыши (ПКМ) на иконке NetworkManager в системном трее → «Изменить соединения…»:
- В открывшемся окне выбрать используемое сетевое соединение и дважды кликнуть по нему;
- На вкладке «Параметры IPv4» задать IP-адрес, маску сети и шлюз (при необходимости), а так же IP-адрес контроллера домена в качестве адреса дополнительного DNS-сервера:
- Нажать «Сохранить»;
- Что бы изменения вступили в силу нажать левую кнопку мыши (ЛКМ) на иконке NetworkManager в системном трее, после чего ЛКМ на используемое сетевое соединение:
Как установить или изменить IP-адрес (в более новых системах)
Использование командной строки
Конфигурация сети была полностью изменена с Ubuntu 17.10 с новым инструментом под названием Netplan. Конфигурационные файлы Netplan находятся в / etc / netplan и точно так же, как и старый метод, вы можете настроить сеть с помощью текстового редактора.
Netplan использует синтаксис, который похож на JSON а именно еще один язык разметки (YAML). YAML довольно поляризован, и многие разработчики либо любят его, либо ненавидят. Одна из причин в том, что YAML учитывает отступы или строки, поэтому будьте особенно осторожны с этим пробелом.
Чтобы внести изменения в вашу сеть, откройте файл, расположенный в / etc / netplan /, чтобы внести необходимые изменения:
Чтобы установить IP-адрес статически, установите значения в файле в соответствии с вашей сетью. Вот пример файла, который устанавливает адреса IP, шлюза и DNS:
Если вы предпочитаете вернуться назад, чтобы получить IP-адрес, назначенный автоматически через DHCP, установите файл следующим образом:
Запустите следующую команду, чтобы применить изменения, или запустите ее с необязательным переключателем отладки, чтобы получить полезный вывод для проверки правильности анализа файла:
Использование GUI
Чтобы установить IP-адрес в графическом интерфейсе, перейдите в « Настройки»> «Сеть» и щелкните значок шестеренки интерфейса, который вы хотите настроить. Нажмите на вкладку IPv4, выберите «Вручную» и введите необходимые настройки. Нажмите «Применить», чтобы принять изменения и насладиться новыми настройками сети.
Как узнать IP, шлюз и маску?
Вы не можете установить любой IP для своего компьютера. Есть определенный диапазон значений, которые можно использовать. Ваш новый ip адрес должен быть в той же сети, что IP адрес роутера, который представляет из себя шлюз в сеть. Также, если вы задаете IP вручную, то нужно указать и другие параметры, которые система раньше получала по DHCP. И перед тем как переходить к настройке давайте рассмотрим откуда взять эти данные.
Обычно, в локальных сетях адрес находится в одном из следующих диапазонов:
- 10.0.0.0 – 10.255.255.255
- 172.16.0.0 – 172.31.255.255
- 192.168.0.0 – 192.168.255.255
Они все зарезервированы для локальных сетей и их использование не должно вызвать конфликтов с общим интернетом, таким образом сначала надо узнать адрес шлюза. Но со шлюзом все немного сложнее. Это ваш маршрутизатор
Очень важно указать шлюз правильно, иначе компьютер не сможет получить доступ к сети. Посмотреть текущий адрес шлюза можно командой:
Здесь мы видим, что наш адрес шлюза — 192.168.0.1. Отсюда выплывает, что нам нужно выбирать наш ip именно из этого диапазона, можно менять только последнюю цифру и надо, чтобы в этой сети компьютеров с такими адресами больше не было, например, 192.168.0.64.
Маска подсети используется чтобы отделить локальную часть ip адреса, которая меняется, от статической. Сейчас в большинстве случаев применяется значение 255.255.255.0, которое означает изменение только последней цифры. Теперь, когда вы знаете откуда брать все значения, рассмотрим как установить ip адрес Linux.
Как установить статический IP-адрес в Kali Linux с использованием графического интерфейса
Шаг 1. Прежде всего, вы должны узнать шлюз маршрутизатора по умолчанию. Всякий раз, когда вы меняете шлюз по умолчанию, вы не сможете подключиться к сети. Поэтому, чтобы узнать это, вам нужно ввести следующую команду в терминале Kali Linux.
ip r Шлюз по умолчанию
Шаг 2. Теперь вы должны перейти к дополнительным параметрам управления сетью, чтобы настроить статический IP-адрес. Чтобы открыть его, щелкните правой кнопкой мыши сетевое подключение и выберите «Изменить подключения».
Редактировать подключения
Шаг 3. Там вам нужно выбрать «Проводное соединение 1» в разделе «Ethernet» и нажать «Настройки».
Проводное подключение
Шаг 4. Когда открыто окно расширенного управления сетью. Перейдите на вкладку настроек IPv4. Сначала измените метод с DHCP на ручной, введите IP-адрес, маску сети и шлюз по умолчанию. Если они доступны в роутере, вы заметите зеленый цвет, если они были заняты, вы заметите красный цвет.
Установить статический IP-адрес
FAQ по сетям
Как зайти на мой компьютер извне (через интернет)?
Для начала надо узнать, какой IP-адрес даёт провайдер — серый или белый (не путать со статическим/динамическим). Если серый, то ничего не получится. Если белый, то возможны два варианта:
- Роутера нет или он работает в режиме бриджа (моста). В этом случае белый IP-адрес присваивается самому компьютеру. Вводим адрес — попадаем на комп, всё просто.
- Белый адрес присваивается роутеру. Соответственно, по этому адресу мы попадаем на роутер, а не на компьютер. Чтобы попасть на компьютер, на роутере нужно пробросить порты (см. ниже).
Как узнать, какие программы слушают порты на моём компьютере?
Чтобы посмотреть список открытых портов и названия слушающих их программ, используйте команду:
sudo netstat -nlpA inet,inet6
Для вывода информации о конкретном порте можно использовать . Например, для 80 порта:
sudo netstat -nlpA inet,inet6 | grep :80
Из вывода не всегда понятно, о какой программе идёт речь (например, 2671/python), подробнее о процессе расскажет :
ps aux | grep 2671
Как присвоить два IP-адреса одной сетевой карте?
Например, интерфейсу eth0 нужно добавить адрес 192.168.1.1.
Кратковременно, до перезапуска сети:
sudo ip addr add 192.168.1.1/24 dev eth0
Навсегда — добавить в следующее:
#исправить строку auto auto eth0 eth0:1 # добавить алиас iface eth0:1 inet static address 192.168.1.1 netmask 255.255.255.0
Как пробросить порт?
Например, нужно пробросить порт 8081. Адрес, на который обращается клиент, назовём внешний_ip, а адрес, на который он должен попасть — внутренний_ip.
iptables -t nat -A PREROUTING -p tcp -d внешний_ір --dport 8081 -j DNAT --to-destination внутренний_ір:8081 iptables -t nat -A POSTROUTING -p tcp --dst внутренний_ір --dport 8081 -j SNAT --to-source внешний_ір
И обязательно нужно что-то вроде
iptables -t filter -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
Netplan
Ubuntu 17.10 и новее использует Netplan в качестве инструмента управления сетью по умолчанию. Предыдущие версии Ubuntu использовали и его файл конфигурации для настройки сети.
Файлы конфигурации Netplan записываются в синтаксисе YAML с файла . Чтобы настроить сетевой интерфейс с помощью Netplan, вам необходимо создать описание YAML для интерфейса, и Netplan сгенерирует необходимые файлы конфигурации для выбранного инструмента рендеринга.
Netplan поддерживает два средства визуализации, NetworkManager и Systemd-networkd. NetworkManager в основном используется на настольных компьютерах, а Systemd-networkd используется на серверах без графического интерфейса.
Verify Static IP Address on Ubuntu 22.04
Verify the static IP address using the below commands.
sudo ifconfig -a
OR
sudo ip a
Output:
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.10 netmask 255.255.255.0 broadcast 192.168.0.255 ether 08:00:27:81:43:e1 txqueuelen 1000 (Ethernet) RX packets 1684 bytes 1211790 (1.2 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1004 bytes 140357 (140.3 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 549 bytes 44488 (44.4 KB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 549 bytes 44488 (44.4 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Also, verify the DNS server’s entries.
sudo resolvectl status
Output:
Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Link 2 (enp0s3) Current Scopes: DNS Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 192.168.0.1 DNS Servers: 192.168.0.1 8.8.8.8 DNS Domain: itzgeek.local
Как установить или изменить IP-адрес (в старых системах)
Использование командной строки
Старые версии Ubuntu для настольных компьютеров используют файл etc / network / interfaces . Отобразите содержимое файла с помощью команды cat, и, если содержимое выглядит так, как показано на рисунке ниже, ваша система использует более старую версию сетевого сервиса.
В настоящее время ваша система настроена на автоматическое получение своего IP-адреса с использованием DHCP. Для внесения изменений откройте файл интерфейсов, используя nano, и при необходимости установите значения в файле. Сначала измените dhcp на static, затем добавьте строки для серверов адресов, сетей, шлюзов и DNS в соответствии с вашей сетью.
После внесения изменений закройте файл, нажав Ctrl + X, и сохраните изменения. Наконец, перезапустите сетевой сервис, используя следующую команду, чтобы изменения вступили в силу.
Использование GUI
Чтобы настроить свой IP-адрес в старых системах Ubuntu, перейдите в «Параметры системы»> «Сеть»>, выберите интерфейс, который вы хотите настроить, и нажмите кнопку « Параметры» . Нажмите на вкладку IPv4, выберите Manual из раскрывающегося списка Method и, наконец, нажмите кнопку Add .
Настройте свой адрес, маску сети, шлюз и DNS-серверы в соответствии с вашей сетью. Наконец, нажмите Сохранить, чтобы принять изменения для вашей новой конфигурации сети.
Простая настройка сети
Разберем пример настройки 3-х сетевых интерфейсов. Два из них будут с IP-адресами назначенными вручную (static IP), один — по DHCP.
Приводим файл к следующему виду:
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: true
ens7:
dhcp4: no
addresses: [192.168.122.195/24]
routes:
#- to: 0.0.0.0/0
— to: default
via: 192.168.122.1
mtu: 1500
nameservers:
addresses:
search:
ens9:
dhcp4: no
addresses: [192.168.1.10/24, 192.168.1.20/24]
nameservers:
addresses:
— 8.8.8.8
— 77.88.8.8
search:
* где:
version — версия YAML. На момент обновления статьи, была 2.
renderer — менеджер сети (networkd или NetworkManager).
ethernets — настройка сетевых адаптеров ethernet.
ens3, ens7, ens9 — настройки для соответствующих сетевых адаптеров. В данном примере мы настраиваем 3 сетевых адаптера.
dhcp4 — будет ли получать сетевой адаптер IP-адрес автоматически. Возможны варианты yes/true — получать адрес автоматически; no/false — адрес должен быть назначен вручную.
addresses — задает IP-адреса через запятую.
routes — настройка маршрутов. Для шлюза по умолчанию используем опцию и значение to: default. Ранее использовалась директива gateway4, но теперь она считается устаревшей (при применении настройки с ней система вернет предупреждение gateway4 has been deprecated, use default routes instead)
Также обратите внимание на вариант с 0.0.0.0 — в более ранних версиях системы вариат с default выдаст ошибку, и нужно использовать конфигурацию с четыремя нулями.
mtu — при желании, можно задать значение MTU.
nameservers — настройка серверов имен (DNS).
nameservers addresses — указываем серверы DNS. Обратите внимание на разный формат записи для ens7 и ens9
Приемлемы оба варианта.
nameservers search — дописывает окончание домена, если мы обращаемся к узлу сети только по его имени. Стоит обратить внимание, что мы можем указать несколько доменов через запятую.
Работа с утилитой ifconfig
В завершении сетевых настроек хотел немного поговорить об ifconfig. Ранее я упомянул, что более современным средством для настройки сети является утилита ip. В последних релизеах Debian и CentOS ifconfig вообще исключили из базовой установки, ее приходится устанавливать отдельно. IP объединяет в себе два функционала — настройка сетевых интерфейсов и маршрутизации. То есть по сути она заменяет ifconfig + route. В ней реализован функционал обоих программ.
Сам я привык к ifconfig, так как она есть не только в linux, но и в freebsd. Удобно использовать одно и то же средство во всех дистрибутивах. Но последнее время переучиваюсь на ip, так как надо идти в ногу со временем. Тенденция такова, что ip будут продвигать все сильнее и сильнее в силу его большей новизны и, наверное, удобства. Что касается удобства, лично я ничего не могу сказать, мне совершенно все равно, какую команду использовать:
или
Делают они одно и то же. Остальные команды по конфигурированию сетевых интерфейсов тоже не сильно отличаются, просто пишутся немного по-разному. Вот пример работы с маршрутами:
или
В случае с ip мы работаем с одной командой, а не двумя. Чем пользоваться вам, выбирайте сами. Если не привыкли к чему-то конкретному, рекомендую использовать ip.
На этом я завершаю свой материал по теме настройки сети в debian. Я рассмотрел все наиболее значимые и необходимые параметры, с которыми приходится сталкиваться во время конфигурирования сервера.
Как узнать свой ip-адрес
Чтобы узнать ip-адрес системы можно выполнить следующие команды:
ifconfig | grep inet inet addr:93.170.169.118 Bcast:93.170.169.255 Mask:255.255.254.0 inet6 addr: fe80::5054:ff:fe8b:f117/64 Scope:Link inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host ip addr | grep inet inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host inet 93.170.169.118/23 brd 93.170.169.255 scope global ens3 inet6 fe80::5054:ff:fe8b:f117/64 scope link
На данный момент команда ifconfig является хоть и устаревшей, но еще работающей командой (В CentOS требуется установить пакет net-tools). Начиная с ядра версии 2.2 ей на смену пришел пакет iproute2, состоящий из утилит: ip, tc, ss.
2. Как проверить IP-адрес?
Для получения подробной информации о сетевых интерфейсах, такой как IP-адрес, MAC-адрес, используйте следующую команду, как показано ниже.
# ip addr show
$ sudo ip addr show
Пример вывода
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:0c:29:28:fd:4c brd ff:ff:ff:ff:ff:ff inet 192.168.50.2/24 brd 192.168.50.255 scope global eth0 inet6 fe80::20c:29ff:fe28:fd4c/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:0c:29:28:fd:56 brd ff:ff:ff:ff:ff:ff inet 192.168.50.5/24 scope global eth1 inet6 fe80::20c:29ff:fe28:fd56/64 scope link valid_lft forever preferred_lft forever
Ethernet interfaces
Ethernet interfaces are identified by the system using predictable network interface names. These names can appear as eno1 or enp0s25. However, in some cases an interface may still use the kernel eth# style of naming.
Identify Ethernet interfaces
To quickly identify all available Ethernet interfaces, you can use the ip command as shown below.
Another application that can help identify all network interfaces available to your system is the command. This command provides greater details around the hardware capabilities of specific adapters. In the example below, shows a single Ethernet interface with the logical name of eth4 along with bus information, driver details and all supported capabilities.
Ethernet Interface logical names
Interface logical names can also be configured via a Netplan configuration. If you would like control which interface receives a particular logical name use the and keys. The key is used to find an adapter based on some criteria like MAC address, driver, etc. The key can be used to change the device to the desired logical name.
Ethernet Interface settings
is a program that displays and changes Ethernet card settings such as auto-negotiation, port speed, duplex mode, and Wake-on-LAN. The following is an example of how to view the supported features and configured settings of an Ethernet interface.
Networking: Настройка сети из командной строки
Теоретически, службы NetworkManager и networking конфликтовать не должны, так как первая не работает с сетевыми интерфейсами, перечисленными в файле /etc/network/interfaces, а вторая — работает только с интерфейсами, перечисленными в этом файле, но при переходе к использованию службы networking лучше , для чего выполнить команду:
sudo systemctl —now mask NetworkManager
Традиционно, настройка сети TCP/IP из командной строки выполняется с использованием инструментов ifup и ifdown, входящих в пакет ifupdown, и предназначенных для высокоуровневого конфигурирования сети.При этом можно выделить два типичных случая
- Для систем, работающих в статичной сети (например, для серверов), следует сохранять как можно более простую конфигурацию ;
- Для систем, работающих с динамически меняющимися сетями и IP-адресами (например, для мобильных компьютеров) рекомендуется дополнительно использовать для настройки пакет resolvconf, упрощающий переключение конфигураций при смене сетевого адреса.
Пакет ifupdown содержит три команды: команды ifup и ifdown, обеспечивающие настройки сетевых интерфейсов в соответствии с конфигурационным файлом /etc/network/interfaces, и команда ifquery, проверяющая корректность конфигурационного файла /etc/network/interfaces. При этом список включенных в данный момент интерфейсов хранится в файле /run/network/ifstate
Сценарий изменения настройки сетевого интерфейса (на примере интерфейса eth0):
-
Внести изменения в файл /etc/network/interfaces в секцию, относящуюся к интерфейсу eth0.
-
Проверить корректность файла:
sudo ifquery eth0
-
Перезапустить интерфейс. Лучше всегда делать это одной командой, чтобы не потерять машину при работе через удалённое подключение:
sudo ifdown eth0; sudo ifup eth0
Типичной ошибкой при использовании команд ifdown/ifup является повторное назначение параметров интерфейса неотключенным и некорректно работающим сервисом NetworkManager,что выглядит как игнорирование изменений, внесённых в файл /etc/network/interfaces.Для проверки полного состояния сетевого интерфейса вместо устаревшей команды ifconfig следует использовать современную команду ip из пакета iproute2:
-
проверить все сетевые адреса, назначенные сетевому интерфейсу:
ip address show dev eth0
-
очистить все сетевые адреса, назначенные сетевому интерфейсу:
sudo ip address flush dev eth0
Прослушиваемые порты
lsof
Утилита lsof позволяет посмотреть
все
открытые в системе соединения.
Чтобы изучить именно сетевые соединения воспользуйтесь опцией
i
Чтобы отображались именно порты, а не названия сетевых служб примените опцию
P
lsof -i -P
ss
На вопрос как посмотреть список открытых портов также может ответить утилита ss
ss -lntup
Если нужно проверить используется ли определённый порт, например 5000
ss -na | grep :5000
Если вывод пуст, значит порт не используется
Чтобы узнать какая программа слушает определённый порт нужно предварительно установить один из
инструментов:
netstat, fuser или lsof
Начнём с netstat
Netstat
sudo apt install net-tools
С помощью команды
netstat
можно посмотреть список активных соединений по сети
netstat
Обычно netstat используют с набором опций tulpn
который и позволяет понять какая программа слушает какой порт.
netstat -tulpn
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN —
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN —
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN —
tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN —
tcp6 0 0 :::22 :::* LISTEN —
tcp6 0 0 ::1:631 :::* LISTEN —
tcp6 0 0 ::1:6010 :::* LISTEN —
tcp6 0 0 ::1:6011 :::* LISTEN —
tcp6 0 0 :::80 :::* LISTEN —
udp 0 0 0.0.0.0:52756 0.0.0.0:* —
udp 0 0 0.0.0.0:68 0.0.0.0:* —
udp 0 0 0.0.0.0:631 0.0.0.0:* —
udp 0 0 0.0.0.0:5353 0.0.0.0:* —
udp6 0 0 :::45815 :::* —
udp6 0 0 :::5353 :::* —
Netplan
Начиная с выпуска 17.10, Netplan является инструментом управления сетью по умолчанию в Ubuntu, заменяя файл конфигурации , который ранее использовался для настройки сети в Ubuntu.
Netplan использует файлы конфигурации в синтаксисе YAML. Чтобы настроить сетевой интерфейс с помощью Netplan, вам необходимо создать описание YAML для этого интерфейса, и Netplan сгенерирует необходимые файлы конфигурации для выбранного вами инструмента визуализации.
Netplan в настоящее время поддерживает два средства визуализации NetworkManager и Systemd-networkd. NetworkManager в основном используется на настольных компьютерах, а Systemd-networkd используется на серверах без графического интерфейса.
Вместо поскриптума
Если нужно выключить и включить сеть в операционной системе Linux, используем всё ту же известную нам команду ifconfig.
Например, следующей командой мы выключим сетевую карту eth0:
sudo ifconfig eth0 down
А вот команда, включающая сетевую плату в Linux:
sudo ifconfig eth0 up
Также мы можем полностью остановить работу сетевых интерфейсов:
service network stop
Либо так:
/etc/init.d/network stop
Теперь включаем всё обратно:
service network start
Либо так:
/etc/init.d/network restart
На этом всё. Если хотите получить более профессиональные навыки Linux-администрирования, добро пожаловать на специальный курс в OTUS:
По материалам статей:
— https://set-os.ru/network-linux-setup/;
— https://itshaman.ru/articles/54.
Как настроить статический IP-адрес (IPv4)
Для настройки статических IP-адресов в Linux необходимо обновить или отредактировать файл конфигурации сети, чтобы назначить системе статический IP-адрес. Вы должны быть суперпользователем с командой su (switch user) из терминала или командной строки.
Open and edit the network configuration files for (eth0 or eth1) using your favorite text editor. For example, assigning IP Address to eth0 interface as follows.
Откройте и отредактируйте файлы сетевой конфигурации для (eth0 или eth1) с помощью вашего любимого текстового редактора. Например, назначить IP-адрес интерфейсу eth0 можно следующим образом.
~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0" BOOTPROTO=static ONBOOT=yes TYPE="Ethernet" IPADDR=192.168.50.2 NAME="System eth0" HWADDR=00:0C:29:28:FD:4C GATEWAY=192.168.50.1
Как отключить ipv6 в Debian
Пока еще новая версия протокола ip не получила широкого распространения, если он вам специально не нужен, ipv6 можно отключить. Прежде чем отключать, необходимо узнать, какие сервисы в настоящее время его используют и перенастроить их, отключив у них ipv6. Если этого не сделать, то в работе этих программ могут возникнуть ошибки. Скорее всего не критичные, но все равно, сделаем все аккуратно и правильно. Сначала проверим, что у нас работает на ipv6:
# netstat -tulnp | grep :::
На свежеустановленном сервере debian программы ssh, exim, dhclient и rpcbind используют ipv6. Отключим это. Начнем с ssh. Открываем файл /etc/ssh/sshd_config и раскомментируем параметр ListenAddress:
# mcedit /etc/ssh/sshd_config
ListenAddress 0.0.0.0
Перезапускаем ssh:
# service sshd restart
Сделаем то же самое с exim4. Открываем файл конфигурации /etc/exim4/exim4.conf.template и в самом начале, после вступительных комментариев пишем:
# mcedit /etc/exim4/exim4.conf.template
disable_ipv6 = true
Перезапускаем exim:
# service exim4 restart
В dhclient для отключения ipv6 в конфиге убираем все параметры в запросе request, начинающиеся с dhcp6. Должно получиться вот так:
# mcedit /etc/dhcp/dhclient.conf
request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers;
Перезапускаем сеть:
# service networking restart
Отключаем ipv6 в rpcbind. Открываем конфигурацию /etc/netconfig и комментируем 2 строки с udp6 и tcp6:
# mcedit /etc/netconfig
#udp6 tpi_clts v inet6 udp - - #tcp6 tpi_cots_ord v inet6 tcp - -
Перезапускаем службу rpcbind и nfs-common, которая от него зависит:
# service rpcbind restart # service nfs-common restart
Проверяем, что у нас осталось:
# netstat -tulnp | grep ::: udp6 0 0 :::6909 :::* 1166/dhclient
dhclient почему-то остался висеть на ipv6 порту, но ладно, это не страшно, запрашивать по ipv6 он все равно ничего не будет. Теперь полностью отключаем ipv6 в Debian:
# mcedit /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
Добавьте эти строки в любое место конфига, например, в самый конец. Перезапустим sysctl для применения настроек:
# sysctl -p
Проверяем свойства сетевых интерфейсов командами ifconfig и ip. Информации об ipv6 быть не должно, мы его полностью отключили.
Более подробно по об отключении ipv6 в различных приложениях читайте в отдельной статье — как отключить ipv6.
Set Static IP Address Using NetPlan on Ubuntu 22.04 Server
Netplan is a network configuration utility that reads YAML files and generates all network configurations for the renderer tool (NetworkManager or networkd) to configure the network on a system.
Netplan configuration files are found in the directory.
Remove any configuration files present in the directory.
sudo rm -rf /etc/netplan/*
Set IP for Wired Interface using Netplan
Now, create a new netplan configuration for the wired network interface.
sudo nano /etc/netplan/01-wired-interface-1.yaml
Then, make changes to the below information and use it for your requirement.
network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: no dhcp6: no addresses: - 192.168.0.10/24 routes: - to: default via: 192.168.0.1 nameservers: addresses: - 192.168.0.1 - 8.8.8.8 search: - itzgeek.local
And then generate the required configuration for the renderers.
sudo netplan generate
Finally, apply all network configurations and restart renderers.
sudo netplan apply
Set IP Address for Wi-Fi using Netplan
Wi-Fi Interface Name: wl01Wireless Access Point Name: RajWireless Access Point Password: MyPass
First, create a new netplan configuration for the wired network interface.
sudo nano /etc/netplan/01-wireless-interface-1.yaml
Then, make changes to the below information and use it for your requirement.
network: version: 2 renderer: networkd wifis: wlo1: dhcp4: no dhcp6: no addresses: - 192.168.0.10/24 routes: - to: default via: 192.168.0.1 nameservers: addresses: - 192.168.0.10 - 8.8.8.8 search: - itzgeek.local access-points: Raj: password: MyPass
And then generate the required configuration for the renderers.
sudo netplan generate
Finally, apply all network configurations and restart renderers.
sudo netplan apply
Установите статический IP-адрес в Ubuntu с помощью команды nmcli
Статические IP-адреса в Ubuntu 22.04 легко установить с помощью команды nmcli. nmcli — это текстовая утилита, используемая для проверки состояния проводных подключений, которые вы используете на своем устройстве.
С помощью этой команды вы можете получить доступ к дополнительной сетевой информации, такой как состояние вашего подключения, имя вашего хост-устройства и общие разрешения в конфигурации вашей сети.
Выполните следующие шаги, чтобы установить статический IP-адрес с помощью команды nmcli.
Вы можете получить информацию о вашем соединении с помощью следующей команды:
Вывод этой команды будет следующим:
Создайте статическую ссылку с помощью приведенной ниже команды. Затем вручную настройте параметры enp0s3 и ipv4 с соответствующими параметрами в команде nmcli.
Если вы снова воспользуетесь командой nmcli connection show, вы увидите, что статическая ссылка была добавлена.
После этого процесса добавьте статическое соединение, которое вы создали, к IP-адресу DNS.
Теперь используйте команду ниже, чтобы активировать соединение:
Если на выходе отображается «connection successfully activated», вы успешно настроили статический IP-адрес на своем компьютере.
Вы можете проверить статический IP-адрес, который хотите назначить своему устройству, выполнив следующую команду: