Архив метки: 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

Настройка сети на Ubuntu Server 18.04

Сегодня раcсмотрим пример настройки сети на Ubuntu Server 18.04 LTS. Первое что я заметил, это способ управления сетевыми интерфейсами в Ubuntu 18.04, он полностью изменился по сравнению с Ubuntu Server 16.04 LTS




Вы слышали о NetPlan?




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




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




Новый файл конфигурации интерфейсов теперь находится в каталоге/etc/netplan.
После чистой установки дистрибутива 18.04 в данной директории находится всего один файл. Обычно этот файл называется 50-cloud-init.yaml




Есть два рендера. NetworkManager и networkd.




NetworkManager в основном используется на настольных компьютерах, а networkd на серверах. Если Вы хотите, чтобы NetworkManager управлял сетевыми интерфейсами, используйте NetworkManager в качестве средства визуализации, иначе используйте networkd.




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




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




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




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




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




sudo ifconfig -a




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




enp0s3: flags=4163  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
ether 08:00:27:f4:93:14 txqueuelen 1000 (Ethernet)
RX packets 384 bytes 360941 (360.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 235 bytes 23725 (23.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4099 mtu 1500
ether 08:00:27:06:d2:9d txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s9: flags=4099 mtu 1500
ether 08:00:27:1f:b2:78 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 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 104 bytes 7616 (7.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 104 bytes 7616 (7.6 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 18.04 – DHCP.




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




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




sudo nano /etc/netplan/*.yaml




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




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




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




sudo netplan apply




Настройка сети на Ubuntu Server 18.04 статические маршруты.




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




network:
  ethernets:
     enp0s3:
         addresses:
         - 10.5.7.1/24
         gateway4: 10.5.7.1
         nameservers: 
            addresses: [8.8.8.8,8.8.4.4]
            search:
            - dom
         optional: true
  version: 2




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




sudo netplan apply




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




Для проверки внесенных вами исправлений давайте наберем команду




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




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




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.7.1
         DNS Servers: 10.5.7.1
          DNS Domain: dom 




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




Но глобальная переменная DNS является все также systemd-resolver.




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




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




sudo nano /etc/systemd/resolved.conf




[Resolve]
DNS=10.5.7.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.7.1            
          DNSSEC NTA: 10.in-addr.arpa   
.....




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




Но вывод nslookup также покажет systemd-resolver.




  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.7.1




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




sudo resolvconf -u




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




nslookup ya.ru

Server:		10.5.7.1
Address:	10.5.7.1#53

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




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



[endtxt]



2019-09-21T17:15:03
Network