KVM Network Bridge для назначения статического IP
Я установил Ubuntu сервер 14.04. и назначил ему статический IP-адрес... затем установил KVM и диспетчер виртуальных машин... затем создал тестовую виртуальную машину, и она работала также с локальным IP-адресом через NAT.
У меня две карты LAN, и только одна подключена к интернету.
То, что я хочу, - это конфигурация для подключения em2 к гостевым машинам. Таким образом, этот статический IP-адрес работает и для гостевых машин. Прямо сейчас, если я предоставляю статический IP-адрес гостевой машине, связь отсутствует.
Мои данные ifconfig:
ifconfig -a
em1 Link encap:Ethernet HWaddr 0c:c4:7a:4d:96:aa
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Memory:f7100000-f717ffff
em2 Link encap:Ethernet HWaddr 0c:c4:7a:4d:96:ab
inet addr:68.168.105.130 Bcast:68.168.105.255 Mask:255.255.255.0
inet6 addr: fe80::ec4:7aff:fe4d:96ab/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3717 errors:0 dropped:10 overruns:0 frame:0
TX packets:373 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:269655 (269.6 KB) TX bytes:239608 (239.6 KB)
Interrupt:20 Memory:f7200000-f7220000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:123 errors:0 dropped:0 overruns:0 frame:0
TX packets:123 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8881 (8.8 KB) TX bytes:8881 (8.8 KB)
virbr0 Link encap:Ethernet HWaddr 52:54:00:23:1c:65
inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
virbr0-nic Link encap:Ethernet HWaddr 52:54:00:23:1c:65
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
и /etc/network/interfaces:
auto lo
iface lo inet loopback
auto em2
iface em2 inet static
address 68.168.105.130
netmask 255.255.255.0
network 68.168.105.0
broadcast 68.168.105.255
gateway 68.168.105.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8
dns-search dedicated.codero.net
1 ответ
Шаг 1: Создайте мост
У вас наверное есть bridge-utils уже установлен, но если вы этого не сделаете:
sudo apt-get install bridge-utils
В хосте и от имени root редактируем /etc/network/interfaces:
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 68.168.105.130
netmask 255.255.255.0
network 68.168.105.0
broadcast 68.168.105.255
gateway 68.168.105.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8
dns-search dedicated.codero.net
bridge_ports em2
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
Теперь вы можете перезагрузить или:
sudo ifup br0
Шаг 2. Измените определение своей виртуальной машины, чтобы использовать мост
Примечание: вероятно, есть способ сделать этот шаг, используя virt-managerТем не менее, я не использую его и не знаю, как.
использование virsh edit и измените строки определения вашего интерфейса, чтобы использовать мост вместо того, что используется в настоящее время. Вот пример из одной из моих виртуальных машин. До:
<interface type='network'>
<mac address='52:54:00:0d:ed:95'/>
<source network='default'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
после:
<interface type='bridge'>
<mac address='52:54:00:0d:ed:95'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
Шаг 3: Укажите статический IP-адрес в гостевой виртуальной машине
Теперь во время работы гостевой виртуальной машины, которая может иметь проблемы с сетью, отредактируйте /etc/network/interfaces и добавьте статическое определение для имени интерфейса. Например, и немного угадать для вашей настройки:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 68.168.105.101
netmask 255.255.255.0
network 68.168.105.0
broadcast 68.168.105.255
gateway 68.168.105.1
dns-nameservers 8.8.8.8
dns-search dedicated.codero.net
Заметки:
Редактор по умолчанию, используемый virsh edit как определено $EDITOR переменная среды, или vi если его не существует добавлять export EDITOR="/bin/nano" на ваш ~/.bashrc файл для установки, например, nano в качестве редактора по умолчанию.
Вы ДОЛЖНЫ использовать virsh edit не редактируйте файл XML напрямую, так как virsh edit выполнит кучу проверок при сохранении и выходе. Из любого каталога, например, выполните:
virsh edit desk_tt