Сегодня рассмотрим настройку нескольких IP-адресов на одном интерфейсе в Ubuntu | Debian.
Для того чтобы в Ubuntu заработало несколько сетей всего лишь на одном физическом интерфейсе, необходимо отредактировать конфигурационный файл предназначенный для настройки сети.
В разных версиях дистрибутива за это отвечают разные файлы.
Настройка нескольких IP-адресов на одном интерфейсе в Ubuntu | Linux Mint.
В младших версия дистрибутивов за настройку отвечает конфигурационный файл /etc/network/interfaces. Для его редактирования воспользуемся редактором nano. В терминале набираем следующее:
ifconfig -a
этой командой смотрим какие в системе есть интерфейсы, у меня вывод команды выдает такой результат:
enp3s0: flags=4099 mtu 1500
ether 00:26:18:12:17:8d 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 1 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Локальная петля (Loopback))
RX packets 35285 bytes 32358301 (32.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 35285 bytes 32358301 (32.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Мой интерфейс в системе под именем enp3s0.
Настройка нескольких IP-адресов в старших версиях Ubuntu.
Теперь когда мы знаем название интерфейса можно приступать к редактированию нашей сети. Открываем конфигурационный файл сети:
sudo nano /etc/network/interfaces
# Настройка локальной петли
auto lo
iface lo inet loopback
# Первая подсеть
auto enp3s0
iface enp3s0 inet static
address 10.5.5.2
netmask 255.255.255.0
gateway 10.5.5.1
# Вторая подсеть
auto enp3s0:0
iface enp3s0:0 inet static
address 10.5.7.1
netmask 255.255.255.0
network 10.5.7.0
broadcast 10.5.7.255
dns-nameservers 10.5.7.1
dns-search dom
- address — IP адрес вашего интерфейса в подсети;
- netmask — маска подсети;
- gateway — маршрут по умолчанию (IP адрес роутера). Указывается только один раз;
- network — IP адрес подсети;
- dns-nameservers — IP адрес DNS сервера, если есть свой DNS сервер, то указываем его, иначе опцию можно неписать или указать например 8.8.8.8 — DNS от googla.
- dns-search — в какой DNS зоне искать в первую очередь, если у вас есть свой DNS сервер и настроенная зона, то указываем свою зону, иначе опцию можно не писать.
В примере показано две подсети. В первой подсети подключаемся к роутеру, а во второй выступаем в качестве него.
Чтобы настроить собственный DNS сервер, а также превратить ваш дистрибутив в роутер, который смог бы назначать IP-адреса всем ПК в сети и раздавать интернет всем пользователям, советую почитать данную статью — Настройка DNS + DHCP + NAT на Ubuntu
Теперь необходимо перезагрузить сервис :
sudo /etc/init.d/networking restart
Проверить наличие нескольких ip-адресов вы можете командой:
ip addr
Настройка нескольких IP на одном интерфейсе в Ubuntu 18.04 | Linux Mint 19
Чтобы настроить нескольких IP-адресов на одном интерфейсе в Ubuntu 18.04 | Linux Mint 19 воспользуемся терминалом и отредактируем следующий файл:
sudo nano netplan/*.yaml
network:
version: 2
renderer: networkd
ethernets:
enp3s0:
dhcp4: no
dhcp6: no
addresses: [ 10.5.5.2/24, 10.5.7.1/24 ]
nameservers:
search: [dom, lan]
addresses: [ 10.5.5.1, 10.5.7.1 ]
routes:
- to: 0.0.0.0/0
via: 10.5.5.2
metrica: 100
- to: 0.0.0.0/0
via: 10.5.7.1
metrica: 101
- routes — Если у вас должно быть несколько маршрутов для отдельных IP-адресов интерфейса, вы можете точно контролировать, как они будут себя вести, написав статические маршруты (с установкой метрик на основе приоритета IP сетей)
- metrica — ставится значение от 0 до 255. Чем ниже значение, тем приоритетней будет маршрут. Например маршрутизатор с IP-адресом 10.5.5.1 в вашей сети раздаёт интернет, ваш IP-адрес 10.5.5.2 — назначая метрику 100, как у нас в примере, мы отправляем все пакеты по умолчанию (предназначенные не нашим сетям) в сеть 10.5.5.0 для их обработки роутером.
[endtxt]