Цель:
Я хочу запустить Debian-squeeze-Guest в VirtualBox и предоставить гостю собственный публичный статический IP-адрес. Я нашел множество тем по этой теме, но в целом я сейчас пытаюсь в течение 10 часов (читая руководство, форумы, пытаясь узнать о сетевых концепциях и командах), чтобы предоставить гостю его собственный общедоступный статический IP-адрес (чтобы Гость похож на vServer, который вы можете заказать у хостинговой компании), но не смог.
Поскольку я большой новичок в том, что касается сетевых технологий, я, вероятно, делаю что-то не так (пожалуйста, потерпите меня :-))
Ситуация:
VirtualBox 4.0.10 (headless no gui) работает на выделенном Debian-сервере, гостевой ОС также является Debian.
У сервера статический ip, и я заказал дополнительный ip для виртуальной машины.
Описание проблемы:
До сих пор я мог использовать NAT для доступа к виртуальной машине извне и для настройки внутренней сети между несколькими гостями, и все это работало очень хорошо.
При настройке сетевого адаптера 1 на мост и настройке общедоступного статического IP-адреса гостя гость не мог подключиться. (ни извне, ни с хоста) Я мог подключиться к гостю через внутреннюю сеть, правда, с другого vm. (VBoxManage controlvm VMGuest nic1 bridged eth0) (ниже приведена попытка настройки static-ip на гостевом компьютере / etc / network / interfaces)
Пожалуйста, дайте мне знать, что я делаю неправильно, или что я могу попытаться заставить это работать, или если вам нужна дополнительная информация.
Я думаю, что читал, что с текущей версией VirtualBox для мостовых сетей не требуется специальной конфигурации хоста, это точно, или может быть это проблема?
Дополнительная информация
Информация, которую я получил от хостинговой компании о дополнительном IP
Please note that you can use the IP address only for this server.
IP: 46.4.xx.xx
Gateway: 46.4.xx.xx
Mask: 255.255.255.248
VBoxManage showvminfo VMGuest | меньше
...
NIC 1: MAC: 080027D72F7B, Attachment: Bridged Interface 'eth0', Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0
NIC 2: MAC: 080027B03B75, Attachment: Internal Network 'InternalNet1', Cable connected: on, Trace: off (file: none), Type: Am79C973, Reported speed: 0 Mbps, Boot priority: 0
NIC 3: disabled
(...rest is disabled)
cat / etc / network / interfaces на хост-машине
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto eth0
iface eth0 inet static
address 46.4.xx.xx
broadcast 46.4.xx.xx
netmask 255.255.255.224
gateway 46.4.xx.xx
post-up mii-tool -F 100baseTx-FD eth0
# default route to access subnet
up route add -net 46.4.xx.xx netmask 255.255.255.224 gw 46.4.xx.xx eth0
cat / etc / network / interfaces на гостевой виртуальной машине
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 46.4.xx.xx
netmask 255.255.255.248
gateway 46.4.xx.xx
auto eth1
iface eth1 inet dhcp
ifconfig -a на гостевом компьютере показывает правильный статический IP-адрес для eth0, но гость недоступен "через eth0"
eth0 Link encap:Ethernet HWaddr 08:00:27:d7:2f:7b
inet addr:46.4.xx.xx Bcast:46.4.xx.xx Mask:255.255.255.248
inet6 addr: fe80::a00:27ff:fed7:2f7b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:21 errors:0 dropped:0 overruns:0 frame:0
TX packets:69 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1260 (1.2 KiB) TX bytes:3114 (3.0 KiB)
eth1 Link encap:Ethernet HWaddr 08:00:27:b0:3b:75
inet addr:192.168.10.3 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feb0:3b75/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:142 errors:0 dropped:0 overruns:0 frame:0
TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:15962 (15.5 KiB) TX bytes:14540 (14.1 KiB)
Interrupt:16 Base address:0xd240
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:16436 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:25156 (24.5 KiB) TX bytes:25156 (24.5 KiB)
Я всегда делал это, создавая на хосте интерфейс моста, чтобы он выглядел так:
brctl шоу
bridge name bridge id STP enabled interfaces
br0 8000.0025b3bafc61 no eth0
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:25:B3:BA:FC:61
inet6 addr: fe80::225:b3ff:feba:fc61/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12199478 errors:0 dropped:0 overruns:0 frame:0
TX packets:1121494 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1101744530 (1.0 GiB) TX bytes:396467719 (378.1 MiB)
Interrupt:51
ifconfig br0
br0 Link encap:Ethernet HWaddr 00:25:B3:BA:FC:61
inet addr:10.16.21.55 Bcast:10.16.21.255 Mask:255.255.255.0
inet6 addr: fe80::225:b3ff:feba:fc61/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1280420 errors:0 dropped:0 overruns:0 frame:0
TX packets:1098325 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:334957389 (319.4 MiB) TX bytes:394733263 (376.4 MiB)
Запуск "VBoxManage showvminfo | grep NIC" должен показать что-то вроде:
NIC 1: MAC: 080027D96DFB, Attachment: Bridged Interface 'br0',
Cable connected: on, Trace: off (file: none), Type: 82540EM,
Reported speed: 0 Mbps, Boot priority: 0
Я не знаю, можете ли вы указать VirtualBox напрямую подключиться к eth0, без предварительной настройки br0. Вы, кажется, думаете, что это возможно, и это могло быть причиной ваших проблем. Также обратите внимание на Мостовой ключевое слово. Если вы ранее использовали NAT, это могло быть проблемой.
Спасибо всем, кто ответил!
В следующем уроке на немецком языке мы наконец нашли решение (сетевая часть). Мой Host-IP и дополнительный IP-адрес не находились в одной подсети:
http://www.kitesurfer1404.de/klartext/eq6_setup
0. Информация от моей хостинговой компании о дополнительном IP-адресе и Mac-адресе
Host-IP: _hostIP_
Additional IP: _additionalIP_
Gateway: _gatewayIP_
Maske: 255.255.255.248
Your IP _additionalIP_ has the following separate MAC-adress for virtualisation purposes:
Mac-address for the nic: _macaddress_
1. На хосте
iptables -P FORWARD ACCEPT
sysctl -w net.ipv4.ip_forward=1
# Add the Gateway as an IP-address on the host, in the following way (not the actual additional IP):
ip addr add _gatewayIP_/255.255.255.248 dev eth0
# Add a route for the 2nd additional ip in the following way
route add -host _additionalIP_ gw _additionalIP_
# make the changes persistent - this part is not tested!
emacs /etc/network/interfaces
# ----------------------------------------
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto eth0
iface eth0 inet static
address _hostIP_
broadcast _broadcast_
netmask 255.255.255.224
gateway _gateway_
post-up mii-tool -F 100baseTx-FD eth0
# default route to access subnet
up route add -net 46.4.xx.xx netmask 255.255.255.224 gw 46.4.xx.xx eth0
up ip addr add _gatewayIP_/255.255.255.248 dev eth0
up route add -host _additionalIP_ gw _additionalIP_
# ----------------------------------------
2. На хосте - изменить настройки гостя.
# set the mac-address of the guests nic to the virtual mac-address we got for our additional ip
# bridgeadapter1 is the network card from the Host that should be used for the bridge
VBoxManage modifyvm VMGuest --nic1 bridged --bridgeadapter1 eth0 --nictype1 Am79C973 --macaddress1 _macaddress_
VBoxHeadless -startvm VMGuest
3. В гостях
# connect via internal network and edit the network-configuration
emacs /etc/network/interfaces
# --------------------------------------------------
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
auto eth0
iface eth0 inet static
address _additionalIP_
netmask 255.255.255.248
gateway _gatewayIP_
allow-hotplug eth1
auto eth1
iface eth1 inet dhcp
# --------------------------------------------------
shutdown -r now
«Обратите внимание, что вы можете использовать IP-адрес только для этого сервера».
Это может быть признаком того, что хостинговая компания внедрила безопасность уровня 2 на уровне коммутации, поэтому, если MAC не совпадает, он не будет разрешен в коммутируемой сети.
Я использовал этот сценарий для создания виртуальной машины с Virtual Box без графического интерфейса:
#!/bin/bash
VMNAME="OpenBSD"
VBoxManage createvm --name $VMNAME --ostype OpenBSD --register
VBoxManage createhd --filename ~/"VirtualBox VMs"/$VMNAME/$VMNAME --size 100000
VBoxManage storagectl $VMNAME --name "IDE Controller" --add ide --controller PIIX4 --hostiocache on --bootable on
VBoxManage storageattach $VMNAME --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium ~/"VirtualBox VMs"/$VMNAME/$VMNAME.vdi
VBoxManage storageattach $VMNAME --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium ~/iso/install49.iso --passthrough off
VBoxManage modifyvm $VMNAME --memory 512 --vrde on --acpi on --rtcuseutc on
VBoxManage modifyvm $VMNAME --nic1 bridged --bridgeadapter1 eth0
VBoxManage modifyvm $VMNAME --nic2 bridged --bridgeadapter2 eth1
VBoxManage modifyvm $VMNAME --nic3 bridged --bridgeadapter3 eth2
И работает нормально. Один из виртуальных интерфейсов имеет публичный IP, другие интерфейсы имеют внутренний IP.