- Как настроить статический IP-адрес в Linux и Unix
- В RHEL/CentOS/Fedora/Scientific Linux
- В Ubuntu/Debian/Linux Mint
- В Unix
- Как настроить статический IP-адрес в Ubuntu Server 20.04
- Определение сетевых интерфейсов
- Настройки локальной сети
- Настройки беспроводной сети
- Применение конфигурации
- Подключение по SSH
- Пример конфигурации
Как настроить статический IP-адрес в Linux и Unix
Настройка IP-адреса — один из основных навыков, который должен освоить каждый администратор Linux и Unix. Настроить IP-адрес в режиме графического интерфейса намного проще, поэтому мы не будем описывать это в этом руководстве. Но что в режиме командной строки? Это не так уж сложно. Этот статья описывает, как настроить статический IP в ваших системах Linux и Unix. В этой статье описано, как это сделать в дистрибутивах Linux, таких как CentOS, Debian, Ubuntu и Unix, таких как FreeBSD.
В RHEL/CentOS/Fedora/Scientific Linux
В Fedora, RHEL и его клонах, таких как CentOS, Scientific Linux, конфигурация сетевой карты (кратко NIC) хранится в каталоге /etc/sysconfig/network-scripts/. Для выполнения следующих команд используйте пользователя root. Если же вы вошли в систему как обычный пользователь, просто используйте sudo перед каждой командой.
Сначала необходимо узнать имя сетевой карты. Для этого запустите:
1: lo: mtu 65536 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 valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ff inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe80:6319/64 scope link valid_lft forever preferred_lft forever
Обычно имя проводной сетевой карты начинается с буквы «е», а имя беспроводной карты начинается с буквы «w».
Как видно из вышеприведенного вывода, имя моей проводной сетевой карты enp0s3. Он может отличаться в вашем дистрибутиве, но обычно начинается с буквы «е».
Давайте настроим статический IP-адрес для этого сетевого адаптера.
Откройте файл конфигурации сетевой карты в любом редакторе:
# nano /etc/sysconfig/network-scripts/ifcfg-enp0s3
nano — текстовый редактор. Вы можете использовать любой текстовый редактор на ваш выбор, например, vi или gedit.
Добавьте IP-адрес, маску подсети, шлюз и DNS -сервер, как показано ниже.
TYPE="Ethernet" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" NAME="enp0s3" UUID="e9f9caef-cb9e-4a19-aace-767c6ee6f849" ONBOOT="yes" HWADDR="08:00:27:80:63:19" IPADDR0="192.168.1.150" PREFIX0="24" GATEWAY0="192.168.1.1" DNS1="192.168.1.1" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes"
BOOTPROTO = ”none” — эта строка показывает, что IP-адрес сетевой карты должен быть настроен вручную. Если вы установите значение «dhcp», то сетевая карта будет принимать IP-адрес от любого DHCP-сервера в сети;
IPADDR0 = ”192.168.1.150″ — в этой строке указывается IP-адрес сетевой карты. Здесь вы можете заметить число 0 (ноль) после IPADDR. Это означает, что эта карта имеет только один IP-адрес. Если вы хотите установить более одного IP-адреса (то есть виртуального IP-адреса, то вам нужно добавить строки обозначенные как IPADDR1, IPADDR2 и т.д.;
PREFIX0 = ”24″ — эта строка указывает маску подсети, т.е. 25.255.255.0. Здесь вы можете указать более одного PREFIX со строками PREFIX1, PREFIX2 и т.д., в соответствии с числом виртуальных IP-адресов;
После того, как вы настройки, сохраняем и закрываем файл. Перезапускаем сетевой сервис, чтобы изменения вступили в силу.
# systemctl restart network
Или перезагружаем систему.
Проверим правильность настройки сетевых интерфейсов:
Или можно проверить адрес конкретной сетевой карты, как показано ниже.
Пример вывода последней команды
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ff inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe80:6319/64 scope link valid_lft forever preferred_lft forever
Кроме того, вы можете использовать команду nmtui для настройки IP-адреса.
Введите IP-адрес, маску сети, шлюз, DNS и т.д.
Нажмите OK, чтобы сохранить изменения, и перезапустите сетевую службу или перезагрузите систему, чтобы изменения вступили в силу.
В Ubuntu/Debian/Linux Mint
В системах на основе DEB, таких как Ubuntu, Linux Mint, Elementary OS и т.д. файл конфигурации сетевой карты хранится в каталоге /etc/network/
Чтобы настроить статический IP-адрес в любых системах на основе DEB, выполните следующие действия.
Отредактируйте файл /etc/network/interfaces в любом удобном текстовом редакторе
$ sudo nano /etc/network/interfaces
Добавьте или измените следующие строки для настройки статического IP-адреса.
auto enp0s3 iface enp0s3 inet static address 192.168.1.105 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1
Сохраните и закройте файл
Перезапустите сетевой интерфейс:
$ sudo systemctl restart ifup@enp0s3
Или перезагрузите систему.
Теперь проверьте новый статический IP-адрес с помощью одной из следующих команд:
$ ifconfig $ ip addr $ ip a s enp0s3
Пример вывода последней команды
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:12:f8:c1 brd ff:ff:ff:ff:ff:ff inet 192.168.1.105/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe12:f8c1/64 scope link valid_lft forever preferred_lft forever
В Unix
Мы уже знаем, как настроить статический IP-адрес в Linux из командной строки. Теперь настроим статический IP-адрес в Unix. В этой статье мы будем использовать FreeBSD 10.3.
Как и в Linux, мы используем команду ifconfig, чтобы узнать имя сетевой карты. Здесь я вошел в систему как пользователь root для выполнения следующих команд.
em0: flags=8843 metric 0 mtu 1500 options=9b ether 08:00:27:f8:ba:d8 inet 192.168.1.103 netmask 0xffffff00 broadcast 192.168.1.255 nd6 options=29 media: Ethernet autoselect (1000baseT ) status: active lo0: flags=8049 metric 0 mtu 16384 options=600003 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet 127.0.0.1 netmask 0xff000000 nd6 options=21
Здесь em0 — имя сетевой карты.
Чтобы настроить статический IP-адрес, отредактируем файл /etc/rc.conf:
Добавим или изменим строки, как показано ниже.
hostname="freebsd.test.local" ifconfig_em0="inet 192.168.1.103 netmask 255.255.255.0" defaultrouter="192.168.1.1" local_unbound_enable="YES" sshd_enable="YES" moused_enable="YES" ntpd_enable="YES" powerd_enable="YES" # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable dumpdev="AUTO"
Теперь перезапустим сетевой интерфейс
# /etc/rc.d/netif restart && /etc/rc.d/routing restart
Чтобы настроить сетевую карту для получения IP-адреса от сервера DHCP, добавьте или измените только следующие строки:
hostname="freebsd.test.local" ifconfig_em0="DHCP"
Сохраните и закройте файл. Перезапустите сетевой сервис или перезагрузите систему, чтобы изменения вступили в силу.
И это все. Теперь вы знаете, как настроить статический IP-адрес в дистрибутивах Unix и Linux. Как видно из приведенных выше примеров, настройка IP-адреса из командной строки не очень сложна, как может показаться.
Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:
CC Attribution-Noncommercial-Share Alike 4.0 International
Как настроить статический IP-адрес в Ubuntu Server 20.04
Настройка сети в Ubuntu Server 20.04 LTS осуществляется через утилиту Netplan.
NetPlan — это инструмент для управления настройками сети, представленный в Ubuntu начиная с версии 17.10 и выше.
Этот инструмент заменяет файл статических интерфейсов /etc/network/interfaces , который ранее использовался для настройки сетевых интерфейсов в Ubuntu. Теперь нужно использовать /etc/netplan/*.yaml для ваших изменений в настройках сетевых интерфейсов.
Определение сетевых интерфейсов
Определите все доступные сетевые интерфейсы используя команду ip или lshw :
sudo ip a // Или sudo lshw -class network
У меня уже настроен IP адрес: 192.169.0.150. Я изменю его.
Настройки локальной сети
Отредактируйте файл конфигурации netplan который находится в директории /etc/netplan/ :
sudo vim /etc/netplan/00-installer-config.yaml
Здесь придётся прописать всё ручками, если у вас ещё нет доступа по SSH. У меня этот файл уже редактировался, мне необходимо изменить только IP адрес.
Основные настройки:
- addresses — ip адрес который будет назначен вашей сетевой карте.
- gateway4 — ip адрес вашего роутера.
- nameservers — DNS сервера. Первый — наш роутер.
- search — домен в котором будет произведен поиск. Домен можно настроить при помощи DNS сервера
Мои настройки:
network: ethernets: enp0s3: addresses: - 192.168.0.105/24 gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1, 8.8.4.4] optional: true version: 2 renderer: networkd
ВАЖНО!
Обратите внимание на пробелы! Именно пробелы должны быть, а не табуляция. Если у вас после сохранения файла не появилась ошибка типа: Error while loading /etc/netplan/00-installer-config.yaml, то файл отредактирован правильно с точки зрения его синтаксиса.
После редактирования файла: Esc -> Shift + : -> wq! -> Enter .
Если есть необходимость передать управление сетевыми устройствами утилите NetworkManager:
network: version: 2 renderer: NetworkManager
Настройки беспроводной сети
Для корректной работы беспроводного интерфейса вам потребуется установить утилиту WPA supplicant , которая позволяет подключиться к точкам доступа с WPA. WPA и WPA2:
sudo apt install wpasupplicant
Добавьте новый файл конфигурации в каталог /etc/netplan/ :
sudo vim /etc/netplan/01-config.yaml
Отредактируйте файл конфигурации беспроводной сети с динамическим ip-адресом (DHCP):
network: version: 2 renderer: networkd wifis: wlp3s0: dhcp4: yes dhcp6: no access-points: "network_ssid_name": password: "**********"
Для беспроводной сети в которой используются статические ip-адреса подойдет следующая конфигурация:
network: version: 2 renderer: networkd wifis: wlp3s0: dhcp4: no dhcp6: no addresses: [192.168.0.21/24] gateway4: 192.168.0.1 nameservers: addresses: [192.168.0.1, 8.8.8.8] access-points: "network_ssid_name": password: "**********"
Применение конфигурации
Использование netplan для генерации необходимой конфигурации:
Для подробного вывода информации при генерации, используйте опцию —debug :
sudo netplan --debug generate
Применение конфигурации netplan:
Для подробного вывода информации при применении, используйте опцию —debug :
Далее рекомендуется перезапустить интерфейсы или перезагрузить сервер:
Подключение по SSH
В Windows PowerShell:
Используем Putty. Указываем IP адрес и задаем имя сессии, жмём Open:
При первом подключении к серверу мы увидим сообщение. Жмём ДА.
Вводим имя пользователя и пароль. Если всё прошло успешно, увидим:
На этом настройка статического IP-адреса в Ubuntu Server 20.04 LTS закончена.
Пример конфигурации
Пример, который показывает большинство доступных функций:
network: version: 2 # if specified, can only realistically have that value, as networkd cannot # render wifi/3G. renderer: NetworkManager ethernets: # opaque ID for physical interfaces, only referred to by other stanzas wlp3s0: match: macaddress: 00:11:22:33:44:55 wakeonlan: true dhcp4: true addresses: - 192.168.14.2/24 - 192.168.14.3/24 - "2001:1::1/64" gateway4: 192.168.14.1 gateway6: "2001:1::2" nameservers: search: [foo.local, bar.local] addresses: [8.8.8.8] routes: - to: 0.0.0.0/0 via: 11.0.0.1 table: 70 on-link: true metric: 3 routing-policy: - to: 10.0.0.0/8 from: 192.168.14.2/24 table: 70 priority: 100 - to: 20.0.0.0/8 from: 192.168.14.3/24 table: 70 priority: 50 # only networkd can render on-link routes and routing policies renderer: networkd lom: match: driver: ixgbe # you are responsible for setting tight enough match rules # that only match one device if you use set-name set-name: lom1 dhcp6: true switchports: # all cards on second PCI bus unconfigured by # themselves, will be added to br0 below # note: globbing is not supported by NetworkManager match: name: enp2* mtu: 1280 wifis: all-wlans: # useful on a system where you know there is # only ever going to be one device match: <> access-points: "Joe's home": # mode defaults to "infrastructure" (client) password: "s3kr1t" # this creates an AP on wlp1s0 using hostapd # no match rules, thus the ID is the interface name wlp1s0: access-points: "guest": mode: ap # no WPA config implies default of open bridges: # the key name is the name for virtual (created) interfaces # no match: and set-name: allowed br0: # IDs of the components; switchports expands into multiple interfaces interfaces: [wlp1s0, switchports] dhcp4: true
Подробнее об использовании Netplan здесь.