У меня есть выделенный сервер 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