Архив метки: Network

Настройка сети в Ubuntu Server 20.04 LTS

Сегодня в статье рассмотрим примеры по Настройки сети в Ubuntu Server 20.04 LTS. По сравнению с Ubuntu Server 16.04 LTS настройка осуществляется через утилиту Netplan.






NetPlan – это инструмент для управления настройками сети, представленный в Ubuntu начиная с версии 17.10 и выше.




Этот инструмент заменяет файл статических интерфейсов /etc/network/interfaces, который ранее использовался для настройки сетевых интерфейсов в Ubuntu. Теперь вы должны использовать /etc/netplan/*.yaml для ваших изменений в Ubuntu.




Новый файл конфигурации интерфейсов как вы поняли находится в каталоге /etc/netplan/*.yaml.
После чистой установки дистрибутива Ubuntu Server 20.04 в данной директории находится всего один файл. У меня он называется 50-cloud-init.yaml




Не забываем о синтаксисе данного файла. Табуляция не используется и количество пробелов должно быть одинаково для одноименных категорий.

Полезное.




Ещё стоит напомнить что для конфигурирования сети могут быть использованы рендера – NetworkManager и networkd.




NetworkManager в основном используется на настольных компьютерах, а networkd в серверных дистрибутивах, хотя никто не мешает использовать их и в обратном порядке.




При использовании NetworkManager в качестве средства визуализации для управления интерфейсами будет использоваться графический интерфейс NetworkManager.




Настройка сети в Ubuntu Server 20.04




Есть два пути настройки сетевых интерфейсов:




  1. Получение IP адресов при помощи DHCP – автоматическая настройка
  2. Настройка статических IP адресов




Если вы используете какой либо маршрутизатор, то идем по первому пути. Но сначала давайте определимся с именами интерфейсов в нашей системе. Для этого воспользуемся командой ifconfig.




Да, на чистой системе данная утилита не установлена по умолчанию. Её необходимо будет установить. Ну или можно воспользоваться командой ip. Я же человек старых правил ))), мне все-таки по душе утилита ifconfig поэтому набираем:




sudo ifconfig -a




Вывод команды покажет все имеющиеся в системе сетевые интерфейсы. В моей системе команда выдает следующий результат:




enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 14:d6:4d:56:b8:5a  txqueuelen 1000  (Ethernet)
        RX packets 2087766  bytes 2768743733 (2.7 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1996135  bytes 201457120 (201.4 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 10:78:d2:76:39:b3  txqueuelen 1000  (Ethernet)
        RX packets 10585  bytes 2371990 (2.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16067  bytes 18280327 (18.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 10:78:d2:76:39:b3  txqueuelen 1000  (Ethernet)
        RX packets 87766  bytes 68743733 (12.7 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13819  bytes 12743733 (12.5 MB)
        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
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 242  bytes 35780 (35.7 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 242  bytes 35780 (35.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0




Как видим из вывода имеются три сетевых интерфейса: enp0s3; enp0s8; enp0s9.




Интерфейс enp0s3 выступает в качестве WAN интерфейса для системы. Остальные два enp0s8 и enp0s9 подключены к двум локальным сетям. В дальнейшем мы их объединим в сетевой мост.




Статья по настройке сетевого моста на Ubuntu Server 18.04  LTS




Настройка сети в Ubuntu Server используя автоматическую настройку по DHCP.




И так с интерфейсами определились, давайте теперь настроим наш интерфейс, который смотрит в инет, на получение автоматических настроек сети по DHCP




Открываем файл настроек Netplan




sudo nano /etc/netplan/*.yaml




Файл должен выглядеть следующим образом (если не так, то редактируем):




network:
  ethernets:
     enp0s3:
         dhcp4: true
         dhcp6: true
         optional: true
  version: 2




Далее применим изменения:




sudo netplan try




Если в синтаксисе нет ошибок, то изменения применятся через 120 секунд, ну или сразу если Вы нажмёте Enter




Настройка сети в Ubuntu Server используя статические маршруты.




Если Вы пошли вторым путем и хотите настроить все IP адреса сами, то вот пример для настройки статических адресов:




network:
  ethernets:
     enp0s3:
         addresses: [ 10.5.5.1/24, 'fe00:a:b:100::1/64']
         gateway4: 10.5.1.1
         nameservers: 
            addresses: [10.5.5.1, 'fe00:a:b:100::1']
            search:
            - lan
         optional: true
  version: 2




  • addresses – это ip адрес который будет назначен вашей сетевой карте.
  • gateway4 – ip адрес вашего роутера
  • nameservers – тут перечисляются DNS сервера. Первый опять же наш роутер.
  • search – тут указываем домен в котором будет произведен поиск. Домен можно настроить при помощи DNS сервера




Далее сохраняем изменения:




sudo netplan try




Проверка параметров сети




Для проверки работоспособности сети можно воспользоваться командой ping и nslookup:




ping 8.8.8.8




  • 8.8.8.8 – ip адрес dns сервера google.




ping 10.5.5.2




10.5.5.2 – ip адрес ПК из вашей сети.




nslookup ya.ru




Server:		127.0.0.53
Address:	127.0.0.53#53
Non-authoritative answer:
Name:	ya.ru
Address: 87.250.250.242
Name:	ya.ru
Address: 2a02:6b8::2:242




Как видим на запрос ответил systemd-resolver 127.0.0.53. Если у Вас настроен собственный DNS сервер и вы хотите его установить по умолчанию для сервера DHCP, то потребуется отредактировать файл настройки systemd-resolver.




Также можем еще посмотреть вывод команды:




systemd-resolve --status




Global
       LLMNR setting: no                  
MulticastDNS setting: no                  
  DNSOverTLS setting: no                  
      DNSSEC setting: no                  
    DNSSEC supported: no                  
          DNSSEC NTA: 10.in-addr.arpa     
                      16.172.in-addr.arpa 
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa 
                      18.172.in-addr.arpa 
                      19.172.in-addr.arpa 
                      20.172.in-addr.arpa 
                      21.172.in-addr.arpa 
                      22.172.in-addr.arpa 
                      23.172.in-addr.arpa 
                      24.172.in-addr.arpa 
                      25.172.in-addr.arpa 
                      26.172.in-addr.arpa 
                      27.172.in-addr.arpa 
                      28.172.in-addr.arpa 
                      29.172.in-addr.arpa 
                      30.172.in-addr.arpa 
                      31.172.in-addr.arpa 
                      corp                
                      d.f.ip6.arpa        
                      home                
                      internal            
                      intranet            
                      lan                 
                      local               
                      private             
                      test                
Link 22 (enp0s3)
      Current Scopes: DNS     
DefaultRoute setting: yes     
       LLMNR setting: yes     
MulticastDNS setting: no      
  DNSOverTLS setting: no      
      DNSSEC setting: no      
    DNSSEC supported: no      
  Current DNS Server: 10.5.5.1
         DNS Servers: 10.5.5.1
          DNS Domain: dom 




Из данного вывода DNS указан для нашего сетевого интерфейса enp0s3 его же IP адрес.




Но глобальная переменная DNS является 127.0.0.53.




Для изменения глобальной переменной необходимо проделать следующие действия:




  1. откройте и отредактируйте следующий файл:




sudo nano /etc/systemd/resolved.conf




[Resolve]
DNS=10.5.5.1
...




Примените изменения:




sudo systemctl restart systemd-resolved.service




Посмотрим еще раз на глобальные переменные DNS




sudo systemd-resolve --status




Global
       LLMNR setting: no                  
MulticastDNS setting: no                  
  DNSOverTLS setting: no                  
      DNSSEC setting: no                  
    DNSSEC supported: no                  
         DNS Servers: 10.5.5.1            
          DNSSEC NTA: 10.in-addr.arpa   
.....




Из вывода видно что наш DNS изменился на 10.5.5.1.




Если воспользуемся командой nslookup, то вывод также покажет что dns сервер 127.0.0.53. Для изменения необходим пакет resolvconf




  1. Устанавливаем resolvconf




sudo apt install resolvconf




Открываем файл и вносим изменения:




nano /etc/resolvconf/resolv.conf.d/head




# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 10.5.5.1




Применим наши изменения




sudo resolvconf -u




Теперь вывод nslookup покажет наш DNS сервер




nslookup ya.ru
Server:		10.5.5.1
Address:	10.5.5.1#53
Non-authoritative answer:
Name:	ya.ru
Address: 87.250.250.242
Name:	ya.ru
Address: 2a02:6b8::2:242




На этом Настройка сети в Ubuntu Server 20.04 LTS закончена.



[endtxt]




RSS




2020-05-22T08:39:05
Network

Как вернуть networking на Ubuntu 18.04 и отключить netplan

Как вы уже поняли из заголовка мы сегодня будем возвращать networking на Ubuntu 18.04 и отключить netplan. Все манипуляции я буду производить на Ubuntu 18.04. Для всех остальных (Lubuntu, Xubuntu, Linux Mint и т.д.) Debian подобных системах правило будут те же.




Редактируем файл grub




Сперва отключим netplan в загрузчики grub




sudo nano /etc/default/grub




И приводим строку GRUB_CMDLINE_LINUX к следующему виду:




GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=true"




После этого обновляем параметры grub




sudo update-grub




Устанавливаем сервис networking




Для этого нам необходимо установить пакет ifupdown




sudo apt update
sudo apt install ifupdown




Редактируем файл interfaces




Вносим параметры сети в файл /etc/network/interfaces




sudo nano /etc/network/interfaces




#Пример
auto lo
iface lo inet loopback

auto enp0s1
iface enp0s1 inet dhcp

auto enp3s0
iface enp3s0 inet static
      address 192.168.100.10
      netmask 255.255.255.0
post-up route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.100.50 dev enp3s0




Удаляем конфиг netplan




sudo rm -rf /etc/netplan/*.ymal




После чего перезагружаем систему




sudo reboot




Если же вы хотите все настроить через netplan, то вам сюда.



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2020-04-06T06:50:22
Network

[Решено] ifconfig: команда не найдена.

Исправляем ошибку «ifconfig: команда не найдена»




Если при попытке активировать команду в «Терминале» вы сталкиваетесь с ошибкой «ifconfig: команда не найдена», значит программное обеспечение, отвечающее за эту команду, отсутствует в системе. Сегодня мы бы хотели показать не только метод исправления этой неполадки, но и рассказать о более новом альтернативном варианте, заменяющим ifconfig.




Способ 1: Добавление утилиты ifconfig




Тем пользователям, которые привыкли задействовать именно эту команду, данный способ покажется оптимальным. Инструмент ifconfig
не был удален вовсе, он просто отсутствует в стандартном наборе
приложений системы, а добавить его можно, выполнив следующие инструкции:




  1. Для начала рекомендуем еще раз убедиться в том, что ifconfig недоступна. Запустите классический терминал любым удобным вариантом.
  2. Присвойте постоянные права суперпользователя, написав su -.
  3. Укажите пароль от рут-доступа и ожидайте появления новой строки ввода.
  4. Здесь просто введите ifconfig и нажмите на клавишу Enter.
  5. Если по-прежнему появляется уведомление об отсутствии команды в системе, установите набор компонентов net-tools, введя apt install net-tools.
  6. Ожидайте завершения добавления и настройки новых библиотек.
  7. По завершении инсталляции еще раз выполните ifconfig, чтобы убедиться в успешности операции.
  8. Узнать больше информации о правилах используемой утилиты поможет строка ifconfig --help.




Теперь вы знакомы с методом возвращения ранее стандартной утилиты в
операционную систему Debian 9. Однако стоит понимать, что ей на замену
пришел более удобный инструмент, из-за чего есть смысл разобраться в
управлении с ним и оставить старые привычки.




Способ 2: Использование команды ip




Существует ряд причин, по которым команда ifconfig была заменена на ip в стандартной комплектации ОС на ядре Linux. Во-первых, она не разрешала настраивать систему контроля трафика, некорректно работала с некоторыми устройствами, не отображала их аппаратный адрес и не позволяла генерировать сетевые устройства TUN/TAP. Все эти недочеты были исправлены и доработаны, но уже внесены в функциональность ip. Например, просмотреть основную информацию по интерфейсу можно, введя:




ip a




Выдача в «Терминале» после активации указанной выше команды будет соответствовать той, которая была бы показана при ifconfig, но с некоторыми дополнительными данными.




Дополнительные сведения по протоколу IPv4 смотрим командой:




ip -4 a




для IPv6:




ip -6 a




Еще присутствует возможность получить данные по конкретному интерфейсу, для этого вводим




ip a show wlan0




Отобразить список работающих интерфейсов:




ip link ls up




Одной из главных задач при настройке сети всегда считалась процедура присвоения определенного локального адреса конкретному интерфейсу. с помощью команды ip это делается так:




ip a add 192.168.1.101/24 dev eth0




тоже самое:




ip a add 192.168.1.101/255.255.255.0 dev eth0




Если надобность в присвоении интерфейса для IP-адреса отпала, такая цепь достаточно легко удаляется.




ip a del 192.168.1.101/24 eth0




Команда ip также определяет управление таблицами маршрутизации. Таблицей маршрутизации называют список сетевых путей, которые предназначены для определения лучшего маршрута передачи сетевого пакета. Ознакомиться со всеми доступными таблицами позволяет строка




ip r




В ситуациях, когда требуется вручную перенаправить трафик, задействовать лучше тоже команду ip с определенными аргументами. Тогда строка обретет вид, например:




ip route add 192.168.5.0/24 dev eth0




Установленный маршрут также легко удаляется через




ip route del 192.168.5.0/24 dev eth0




Благодаря двум приведенным выше способам вы теперь знаете, как можно не только восстановить работу команды ifconfig в Debian подобных системах, но и какая есть достойная альтернатива этой устаревшей утилите. Использовать ли новый инструмент или вернуться к старому — решать только вам.



2019-11-15T17:40:23
Network

Повышаем приоритет IPv4 перед IPv6 в Ubuntu | Debian.

Если Вам надо изменить приоритет в протоколах IPv4 и IPv6, не отключая при этом IPv6 (по умолчанию сперва ищется AAAA, а уже после этого A запись). То вот решение, которое ставит приоритет IPv4 выше чем IPv6.




Для того чтобы это сделать нужно отредактировать файл:




sudo nano /etc/gai.conf




в нем найти строчку:




#precedence ::ffff:0:0/96 100




и раскомментировать ее. После этого если у ресурса есть и IPv6 и IPv4 запись в DNS, будет выбираться IPv4. При этом IPv6 остается полностью рабочим.



[endtxt]



2019-10-18T07:57:44
Network

Как отключить IPv6 в Ubuntu | Debian

Сегодня рассмотрим как можно отключить IPv6 в Ubuntu | Debian | Linux Mint.




Для этого нужно добавить в конец файла /etc/sysctl.conf следующие строчки, конечно нужно изменить названия интерфейсов на ваши:




sudo nano /etc/sysctl.conf




net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1




После чего применим настройки:




sudo sysctl -p




И на всякий случай перезапустим сервис сети:




sudo /etc/init.d/networking restart




Сетевые интерфейсы должны будут перестать получать IPv6.




Так же возможно вам не нужно полностью отключать IPv6, а достаточно понизить его приоритет перед IPv4.




Для этого нужно отредактировать файл:




sudo nano /etc/gai.conf 




в нем найти строчку:




#precedence ::ffff:0:0/96  100 




и раскомментировать ее. После этого если у ресурса есть и IPv6 и IPv4 запись в DNS, будет выбираться IPv4 (по умолчанию сперва ищется AAAA, а уже после этого A запись). При этом IPv6 остается полностью рабочим.



[endtxt]



2019-10-17T08:00:30
Network

Настройка сетевого моста в Ubuntu Server

Сегодня рассмотрим пример по Настройки сетевого моста в Ubuntu Server 18.04/20.04 LTS при помощи утилиты Netplan.




Обновление системы




Для начала давайте обновим систему, для этого в терминале набираем:




sudo apt update && sudo apt dist-upgrade -y




После смотрим какие интерфейсы у нас присутствуют в системе:




ifconfig -a




У меня имеются три сетевых интерфейса: enp0s3, enp0s8 и enp0s9.




enp0s3 − смотрит в интернет;

enp0s8 и enp0s9 − смотрят в локальную сеть 1 и 2 соответственно




Настройка сетевого моста в Ubuntu Server




Открываем на редактирование файл 50-cloud-init.yaml расположенный в /etc/netplan




sudo nano /etc/netplan/50-cloud-init.yaml




И вносим в него изменения. Вот пример моего файла.




Не забываем, что файл теперь чувствителен к лишним пробелам и табуляциям




Пример:




network:
   ethernets:
      enp0s3:
         addresses: []
         dhcp4: true
         optional: true
      enp0s8:
         addresses: []
         dhcp4: false
      enp0s9:
         addresses: []
         dhcp4: false
   bridges:
      br0:
         interfaces: [enp0s8,enp0s9]
         addresses:
         - 10.10.10.1/24
         dhcp4: false
         nameservers:
            addresses:
            - 10.10.10.1
            - 8.8.8.8
            search:
            - dom
            - lan
         routes:
         - to: 10.5.7.0/24
           via: 10.5.5.1
           metric: 3
         optional: true
   version: 2




IP адреса меняем на свои, а также названия интерфейсов




Также блок routes можете удалить, я привел его для общего понимания настройки сети в ubuntu server 18.04/20.04.




Он необходим для того, чтобы настроить маршрутизацию. Например:  имеется сеть 10.5.7.0 на сервере, к которому подключается мой сервер через интерфейс enp0s3 или же у вас в локальной сети имеется дополнительные сервера, то прописав данную конфигурацию наш сервер будет знать о сети 10.5.7.0 и пакеты из сети 10.10.10.0 смогут попасть в сеть 10.5.7.0 через сервер с IP адресом 10.5.5.1




После внесения изменений ваш конфигурационные файл можно протестировать следующей командой:




sudo netplan try




Если все отлично, то через 120 секунд конфигурация применится автоматом. Убедимся, что все в порядке.




ifconfig




У меня вывод вот такой:




br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet 10.10.10.1 netmask 255.255.255.0 broadcast 10.10.10.255
 inet6 fe80::d9:a3ff:fe18:84ed prefixlen 64 scopeid 0x20<link>
 ether 02:d9:a3:18:84:ed txqueuelen 1000 (Ethernet)
 RX packets 422615588 bytes 24951054868 (24.9 GB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 66 bytes 5136 (5.1 KB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet 10.5.5.41 netmask 255.255.255.0 broadcast 10.5.5.255
 inet6 fe80::a00:27ff:fef4:9314 prefixlen 64 scopeid 0x20<link>
 ether 08:00:27:f4:93:14 txqueuelen 1000 (Ethernet)
 RX packets 2763 bytes 578556 (578.5 KB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 1549 bytes 640356 (640.3 KB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 ether 08:00:27:06:d2:9d txqueuelen 1000 (Ethernet)
 RX packets 211366705 bytes 15438178070 (15.4 GB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 211248954 bytes 15429500456 (15.4 GB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 ether 08:00:27:1f:b2:78 txqueuelen 1000 (Ethernet)
 RX packets 211248885 bytes 15429495190 (15.4 GB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 211366652 bytes 15438174160 (15.4 GB)
 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<host>
 loop txqueuelen 1000 (Local Loopback)
 RX packets 538 bytes 35601 (35.6 KB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 538 bytes 35601 (35.6 KB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0




Как видим все не так уж и трудно 🙂



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2019-09-21T17:18:25
Network