Mam maszynę VirtualBox z systemem CentOS 6.5. Stworzyłem dla niego 2 karty sieciowe w ustawieniach sieciowych VirtualBox dla urządzenia. Pierwszy to NAT, którego chcę, aby gość używał do łączenia się z Internetem, a drugi to Tylko host, którego użyję do SSH i dostępu do serwera WWW z komputera hosta. Ten samouczek na forach VirtualBox jest tym, co chcę osiągnąć, ale nie mogę znaleźć /etc/network/interfaces
pliku w CentOS 6.5, więc zakładam, że konfiguracja przebiega inaczej.
Po skonfigurowaniu zarówno adapterów NAT, jak i tylko hosta, uruchomiłem maszynę wirtualną, zrobiłem ip addr show
i mam 2 interfejsy eth0
oraz eth2
(nie wiem, dlaczego w eth1
jakiś sposób został pominięty). Więc konfiguruję oba ifcfg-ethX
pliki /etc/sysconfig/network-scripts
, ustawiając eth0
na DHCP (dla NAT) i eth2
statyczny adres IP (tylko dla hosta). Za eth0
, ONBOOT=yes
natomiast dla eth2
, ONBOOT=no
. Dzięki takiemu ustawieniu mogę ping
Internet, tzn ping -c 3 www.google.com
. Otrzymuję odpowiedź, więc wiem, że mogę połączyć się z Internetem (gdy nie eth2
działa).
Następnie ja ifup eth2
. Z komputera hosta korzystam z SSH przy użyciu ustawionego statycznego adresu IP i mogę się połączyć bez problemu. Ale kiedy robię to ping -c www.google.com
tym razem, kończy się to niepowodzeniem i wiem, że straciłem połączenie z Internetem, nawet jeśli eth0
nadal działa. Wykonanie a route -n
pokazuje mi wyjście tabelaryczne z eth2
zajęciem pierwszego i ostatniego wiersza, gdy eth0
jest pomiędzy (przepraszam, nie mogę opublikować rzeczywistego wyniku, ponieważ usunąłem maszynę wirtualną z frustracji ...).
Utworzyłem nową maszynę Wirtualną CentOS i chciałbym kontynuować tę samą konfigurację. Mój networking-fu jest prawie nieobecny, więc jestem nim n00b. Chciałbym uzyskać kilka wskazówek, jak to zrobić poprawnie (tj. Jak ustawić adapter NAT do używania eth0
i ustawić adapter tylko do hosta do użycia, eth1
a nie eth2
, jak uczynić eth0
nadal użytecznym, nawet jeśli eth1
/ eth2
jest uruchomiony).
Aktualizacja
Więc mam nową maszynę wirtualną i wydaje się, że teraz działa, jeśli mam pierwszy adapter ustawiony tylko na host, a drugi adapter ustawiony na NAT. Jest tak skonfigurowany:
Ustawienia sieciowe VirtualBox
- Karta sieciowa 1: Tylko host (
vboxnet0
adres IP jest ustawiony na10.3.0.1
, maska sieci255.255.255.0
i DHCP są wyłączone) - Karta sieciowa 2: NAT (DHCP)
/etc/sysconfig/network-scripts/ifcfg-ethX
Ustawienia VM CentOS
# ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:EC:6C:B9
TYPE=Ethernet
UUID=1339bc30-...
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
DHCPCLASS=
IPADDR=10.3.0.100
NETMASK=255.255.255.0
GATEWAY=10.3.0.1
# ifcfg-eth2
DEVICE=eth2
HWADDR=08:00:27:EB:73:BA
TYPE=Ethernet
UUID=1339bc30-...
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
Wynik ip route
10.0.3.0/24 dev eth2 proto kernel scope link src 10.0.3.15
10.3.0.0/24 dev eth0 proto kernel scope link src 10.3.0.100
169.254.0.0/16 dev eth0 scope link metric 1002
169.254.0.0/16 dev eth2 scope link metric 1003
default via 10.0.3.2 dev eth2
Wynik ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:ec:6c:b9 brd ff:ff:ff:ff:ff:ff
inet 10.3.0.100/24 brd 10.3.0.255 scope global eth0
inet6 fe80::a00:27ff:feec:6cb9/64 scope link
valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:eb:73:ba brd ff:ff:ff:ff:ff:ff
inet 10.0.0.15/24 brd 10.0.3.255 scope global eth2
inet6 fe80::a00:27ff:feeb:73ba/64 scope link
valid_lft forever preferred_lft forever
źródło
vboxnet0
(tylko jeśli host) było ustawione na,192.168.56.1
więc domyślnie była to brama domyślna. Nie mogę sobie przypomnieć interfejsu NAT.ip route
dotyczących nowej maszyny wirtualnej ...? I to zip addr
.Odpowiedzi:
Myślę, że problemem jest (lub: był) fakt, że definicja bramy koliduje z DHCP. Wydaje się, że wpływa to na porządek interfejsu.
Podstawowy problem brzmi: w jaki sposób należy przeprowadzić routing przy użyciu dwóch kart sieciowych? Jak rozumiem, karta tylko do hosta będzie używana do połączeń tylko z hostem. Dlatego nie powinieneś w ogóle definiować żadnej bramy dla tego interfejsu. Ale może to działa tylko wtedy, gdy pierwszy interfejs używa DHCP.
Ponadto możesz rozważyć całkowite uniknięcie DHCP. Interfejs NAT działa również w konfiguracji statycznej.
źródło
Mam zestaw
W systemie Oracle Linux (RHEL / CentOS) uruchamiam aplikację Połączenia sieciowe,
ustawiam eth0 na stały adres IP
i ustawiam eth1 na Automatyczny DHCP
Kiedy wykonujesz ifconfig, widzę, że zarówno eth0, jak i eth1 mają ustawione adresy inet i komunikację z hosta do pracy gościa i od gościa do Internetu wszystko działa.
Czasami nie uruchamiam VBOX przez chwilę i okazuje się, że komunikacja nie działa. Brak pomysłu.
Dzisiaj zacząłem GOŚCIA i bez połączenia sieciowego (w obie strony) zrestartowałem i to działa.
Może dotyczy to aktualizacji VBXO, po prostu nie wiem.
BTW: Aby komunikować się z Oracle DB, ustaw Przekazywanie portów na NAT (eth0) z 127.0.0.1 na Port IP gościa 1521. Zrób to z VBOX.
Mam również wyłączoną zaporę.
źródło