Назад | Перейти на главную страницу

Как добавить публичный ip в kvm vps?

У меня есть выделенный сервер Hetzner, на котором установлен сервер Ubuntu 16.04.

У этого сервера публичный IP: 198.51.100.33 (только для объяснения).

На этом сервере я установил KVM.

Я купил дополнительный IP-адрес, который хочу добавить к KVM VPS.

Как я могу добавить к виртуальной машине дополнительный IP-адрес?

У меня есть гугл, и более 10 раз произошел сбой сети хост-сервера, поэтому мне пришлось подключиться через удаленную консоль Лара, чтобы восстановить конфигурацию сети.

Спасибо

ОБНОВЛЕНИЕ 1:

IP хост-сервера: 198.51.100.160

IP для VPS: 198.51.100.187

Это поддельные IP-адреса, используемые только для объяснения

Вот содержимое / etc / network / interfaces на хост-сервере

### Hetzner Online GmbH installimage

auto lo
iface lo inet loopback
iface lo inet6 loopback

auto eth0
iface eth0 inet static
  address 198.51.100.160
  netmask 255.255.255.192
  gateway 198.51.100.129
  # route 198.51.100.128/26 via 198.51.100.129
  up route add -net 198.51.100.128 netmask 255.255.255.192 gw 198.51.100.129 dev eth0

iface eth0 inet6 static
  address 2a0:4d8:201:231d::2
  netmask 64
  gateway fe80::1

Я добавил внизу это:

auto eth0:1
iface eth0:1 inet static
address 198.51.100.187
gateway 198.51.100.129
netmask 255.255.255.192

После этого я установил virt-manager для kvm на хост-сервере и подключился через vnc к хост-серверу.

С помощью виртуального менеджера GUI я создал виртуальную машину.

Как добавить этот второй ip к этому VPS?

Вот скриншот выбора:

ОБНОВЛЕНИЕ 2:

Купил подсеть ip 198.51.110.64 / 29

Хорошо. Хороший выбор - использование мостовых интерфейсов. Мост работает как неуправляемый коммутатор. Вы можете подключить к одному мосту несколько виртуальных машин. Также вы можете использовать VLAN внутри одного моста или создать каждый мост для каждой VLAN.

Из дебиан WiKi:

Мостовое соединение помещает несколько интерфейсов в один и тот же сегмент сети. Это очень популярно при подключении сервера к нескольким коммутаторам для обеспечения высокой доступности или с виртуализацией. В последнем случае он обычно используется для создания моста на хосте (например, ethX) и помещения виртуальных интерфейсов гостей (virbrX) в мост.

По сути, мост - это подключение одного компьютера к другому, у которого уже есть подключение к более крупной сети (например, к Интернету), и разрешение компьютеру, подключенному к мосту, использовать соединение с сетевым компьютером. Однако для этого сетевой компьютер должен иметь два порта Ethernet: один для большой сети, а другой - для компьютера с мостовой схемой.

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

Маршрут добавлять не нужно route add -net 198.51.100.128 netmask 255.255.255.192 gw 198.51.100.129 dev eth0 потому что сеть локально подключена к eth0 (eth0 имеет IP-адрес из этой сети) и шлюзу 198.51.100.129 совпадает с IP-адресом шлюза по умолчанию.

Прежде всего вам нужно установить bridge-utils:

sudo apt install -y bridge-utils

И разрешить пересылку IP-трафика между интерфейсами:

sudo echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf

Чтобы разрешить пересылку всех IP-пакетов через брандмауэр на хост-сервере, вам необходимо добавить правило брандмауэра:

sudo apt install -y iptables-persistent
sudo iptables -I FORWARD -j ACCEPT
sudo dpkg-reconfigure -y iptables-persistent

У тебя есть 198.51.100.160/26 IP-адрес на eth0 интерфейс хост-сервера и вам необходимо назначить 198.51.100.187/26 IP-адрес на виртуальной машине VPS1. Вы создаете br0 мостовой интерфейс на хосте и подключение eth0 интерфейс с мостом. Затем подключите виртуальный сетевой интерфейс VPS1 к br0 мост в настройках VPS1. Внутри VPS1 вы назначите 198.51.100.187/26 IP-адрес как статический, например:

auto eth0
iface eth0 inet static
  address 198.51.100.187
  netmask 255.255.255.192
  gateway 198.51.100.129
  dns-nameservers 8.8.8.8 8.8.4.4

Чтобы использовать вторую IP-подсеть 198.51.110.64/29 вы можете создать второй интерфейс моста br1 и назначьте ему первый IP-адрес 198.51.110.65/29. Затем вы можете подключить другие машины VPS к этому мосту и назначить им статические IP-адреса из этой сети, но IP-адрес шлюза по умолчанию будет 198.51.110.65/29 там.

Чтобы это изменить /etc/network/interfaces файл на хост-сервере как:

### Hetzner Online GmbH installimage

auto lo
iface lo inet loopback
iface lo inet6 loopback

auto eth0
iface eth0 inet static
  address 198.51.100.160
  netmask 255.255.255.192
  gateway 198.51.100.129
  dns-nameservers 8.8.8.8 8.8.4.4

auto br0
  iface br0 inet manual
  bridge_ports eth0
  bridge_stp off       # disable Spanning Tree Protocol
  bridge_waitport 0    # no delay before a port becomes available
  bridge_fd 0          # no forwarding delay

auto br1
iface br1 inet static
  address 198.51.110.65
  netmask 255.255.255.248
  bridge_stp off       # disable Spanning Tree Protocol
  bridge_waitport 0    # no delay before a port becomes available
  bridge_fd 0          # no forwarding delay

iface eth0 inet6 static
  address 2a0:4d8:201:231d::2
  netmask 64
  gateway fe80::1