Несколько вариантов настройки локальной на сервере.
Первый способ настроить локальную сеть. Работает на серверах https://www.hetzner.com/
1. Посмотрим какие сетевые интерфейсы подключены на сервере. lo
ip a
Как мы видим на скриншоте у нас 3 интерфейса. lo, enp3s0, enp1s0.
lo - Этот нас не интересует.
enp3s0 - Это интерфейс внешней сети (интернет)
enp1s0 - Это интерфейс локальной сети. (Это нас интересует)
2. Открываем файл для редоктирования сетевых интерфейсов.
sudo nano /etc/netplan/*.yaml
3. Выделяем все содержимое (Кроме верхней закоментированной строчки) и копируем ctrl+c
4. В конце делаем перенос строки и вставляем скопированный текст, что бы межу скопированным и вставленным тесктом была пустая строчка
5. Удаляем лишние строчки и меняем локальный ip например на 192.168.1.201/24
-Удаляем блок routes
-Меняем название сетеврого интерфейса в нашем случае на enp1s0
6. Нажимаес ctrl + x (выходим с редактирования), жмем "y" - сохраняем изменения.
7. Включаем добавленый новый локальный интерфейс и применим внесенные изменения
ifconfig enp1s0 up
sudo netplan try
8. Можно проверить работу локальной сети. Команда ping
ping 192.168.1.101
Второй и самый простой способ настроить сеть. НО ПОСЛЕ ПЕРЕЗАГРУЗКИ СЕРВЕРА НАСТРОЙКИ СБРОСЯТЬСЯ ЛОКАЛЬНАЯ СЕТЬ НЕ БУДЕТ РАБОТАТЬ, Работает на серверах https://www.hetzner.com/
1. Посмотрим какие сетевые интерфейсы подключены на сервере. lo
ip a
Как мы видим на скриншоте у нас 3 интерфейса. lo, enp3s0, enp1s0.
lo - Этот нас не интересует.
enp3s0 - Это интерфейс внешней сети (интернет)
enp1s0 - Это интерфейс локальной сети. (Это нас интересует)
2. Прописываем ip локальному интерфейсу. Этой командой мы пропишем локальному интерфейсу ip 10.0.0.1
ip a a 10.0.0.1/24 dev enp1s0
3. Далее нам нужно включить этот интерфейс.
ifconfig enp1s0 up
4. После включения интерфейса enp1s0, можно проверить пингом работу локальной сети. Например пропингуем другой сервак.
ping 10.0.0.2
5. Как мы видим, все нормально.
Третий способ
(Работоспособность на https://www.hetzner.com/ не проверана)
Настройка сети в Ubuntu Server 20.04
Есть два пути настройки сетевых интерфейсов:
- Получение IP адресов при помощи DHCP — автоматическая настройка
- Настройка статических 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 используя networkd и DHCP.
И так с интерфейсами определились, давайте теперь настроим наш интерфейс, который смотрит в инет, на получение автоматических настроек сети по DHCP
Открываем файл настроек Netplan
sudo nano /etc/netplan/*.yaml
Файл должен выглядеть следующим образом (если не так, то редактируем):
network:
ethernets:
enp0s3:
dhcp4: true
dhcp6: true
version: 2
Далее применим изменения:
sudo netplan try
Если в синтаксисе нет ошибок, то изменения применятся через 120 секунд, ну или сразу если Вы нажмёте Enter
Настройка сети в Ubuntu Server используя networkd и статические маршруты.
Если Вы пошли вторым путем и хотите настроить все IP адреса сами, то вот пример для настройки статических адресов:
network:
ethernets:
enp0s3:
addresses:
- 10.5.5.10/24
gateway4: 10.5.5.1
nameservers:
addresses: [10.5.5.1, 8.8.4.4]
search:
- dom
optional: true
version: 2
- addresses — это ip адрес который будет назначен вашей сетевой карте.
- gateway4 — ip адрес вашего роутера
- nameservers — тут перечисляются DNS сервера. Первый опять же наш роутер.
- search — тут указываем домен в котором будет произведен поиск. Домен можно настроить при помощи DNS сервера
Далее сохраняем изменения:
sudo netplan try
Проверка параметров сети
Для проверки внесенных вами исправлений давайте наберем команду
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.5.1
DNS Servers: 10.5.5.1
DNS Domain: dom
Как видим из данного вывода DNS указан для нашего сетевого интерфейса enp0s3 его же IP адрес.
Но глобальная переменная DNS является все также systemd-resolver.
Для изменения глобальной переменной необходимо проделать следующие действия:
- откройте и отредактируйте следующий файл:
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 также покажет systemd-resolver.
- Устанавливаем 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 закончена.