přejít na obsah přejít na navigaci

Linux E X P R E S, VirtualBox a Bridge na Debianu/Ubuntu

VirtualBox a Bridge na Debianu/Ubuntu

Před několika dny jsem na svém blogu objevil prosbu o radu , týkající se nastavení bridge v emulátoru VirtualBox . Tento problém řeším poměrně často v práci, s kamarády i na různých fórech a tak jsem se rozhodl, že přesný postup nastavení pro jednou sepíšu alespoň do několika bodů, podle kterých bude možné zvládnout nastavení bridge za pár okamžiků.


reklama

Bridge vs NAT

Jestliže v emulátoru VirtualBox vytvoříme "nový počítač", automaticky se nastaví síťová karta a to konkrétně do režimu NAT. Ten zapříčiní, že z emulovaného počítače se téměř okamžitě můžeme dostat do sítě internet. Bohužel při použití NATu přicházíme o některé možnosti sítě - například o možnost procházení okolních počítačů, sdílení složek atp. Tento problém lze docela elegantně vyřešit dvěma způsoby. Prvním z nich je routování, které by pro některé mohlo představovat těžký kámen úrazu. Druhou metodou je použití bridge módu u síťové karty, který je sice poněkud náročnější na prvotní konfiguraci, ale na druhou stranu nabízí stejné "rozhraní" a přístup k síti jako má stroj, ze kterého ho spouštíte...

Poznámka: Network address translation (zkráceně NAT, česky překlad síťových adres) je funkce síťového routeru pro změnu IP adres paketů procházejících zařízením, kdy se zdrojová nebo cílová IP adresa převádí mezi různými rozsahy. Nejběžnější formou je tzv. maškaráda (maskování), kdy router IP adresy z nějakého rozsahu mění na svoji IP adresu a naopak - tím umožňuje, aby počítače ve vnitřní síti (LAN) vystupovaly v Internetu pod jedinou IP adresou. Router si drží po celou dobu spojení v paměti tabulku překladu adres.
-- převzato ze stránky http://cs.wikipedia.org/wiki/NAT

Postup instalace:

Z domovských stránek VirtualBoxu stáhneme poslední verzi VirtualBoxu

# wget http://www.virtualbox.org/download/1.5.2/virtualbox_1.5.2-25433_Ubuntu_gutsy_i386.deb

 Stažený balíček pomocí příkazu "dpkg -i" nainstalujeme 

# sudo dpkg -i virtualbox_1.5.2-25433_Ubuntu_gutsy_i386.deb

 Aby VirtualBox správně fungoval, musíme nastavit správná práva na nově vytvořené zařízení /dev/vboxdrv a také musíme přidat uživatele, pod kterým právě pracujeme (u mě je to uživatel hodza) do skupiny vboxusers.

# sudo chmod 666 /dev/vboxdrv
# sudo usermod -G vboxusers -a hodza

 Od této chvíle bychom již VirtualBox mohli používat. My však budeme dále pokračovat v instalaci nástrojů potřebných pro spuštění bridge.

# sudo apt-get install bridge-utils uml-utilities kdesudo

 Po instalaci těchto třech balíků přidáme záznam o bridge do souboru /etc/network/interfaces.

# sudo vi /etc/network/interfaces

 Konkrétně přidáme na konec souboru následující řádky

auto br0
iface br0 inet dhcp
bridge_ports eth0
Výše uvedený výpis označuje, že bridge bude označený jako br0, IP adresu získá ze serveru DHCP a bude připojený k zařízení eth0 .

Celý soubor /etc/network/interfaces u mě pak pak vypadá například takto:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
Aby se změny projevily, je potřeba znovu načíst konfiguraci sítě. To provedeme příkazem
# sudo /etc/init.d/networking restart
Nyní je zapotřebí vytvořit permanentní síťové zařízení. Ve VirtualBoxu se tyto zařízení označují ve tvaru vbox[číslo]. V našem případě vytvoříme zařízení vbox0, které bude určené pro uživatele hodza a slinkované se zařízením br0.
# sudo VBoxAddIF vbox0 hodza br0 

 Dále nezapomeneme opravit přístupová práva k zařízení /dev/net/tun. Na internetu je popsaný postup, kdy zařízení /dev/net/tun dostane práva 660.Níže popsané řešení je však mnohem elegantnější a né tak drastické.

# sudo chown root.vboxusers /dev/net/tun
# sudo chmod g+rw /dev/net/tun

Předposledním krokem je vytvoření skriptů, které VirtualBox spouští při startu či ukončení virtuálního stroje.

První skript si uložíme například do domovského adresáře pod názvem "TapUP". Jeho obsah bude následovný:

#!/bin/sh
kdesu "/sbin/ifconfig $2 up && /usr/sbin/brctl addif br0 $2"

Druhý skript si uložíme do stejného adresáře například pod jménem TapDOWN. Jeho obsah bude:

#!/bin/sh
kdesu /usr/sbin/brctl delif br0 $2
Nakonec nezapomene dát skriptům patřičná práva (pro spuštění)
# chmod +x TapUP
# chmod +x TapDOWN

Teď již nebrání nic tomu, spustit VirtualBox a v nastavení Síťové karty zvolit položku "Připojit k Hostitelskému rozhraní".

Nezapomeneme vyplnit:
Název rozhraní: - vbox0
Nastavení aplikace: /home/hodza/TapUP (opravte na správnou složku - podle vašeho nastavení)
Ukončit aplikaci:  /home/hodza/TapDOWN (opravte na správnou složku - podle vašeho nastavení)
VirtualBoxSiteSettings.png
Zvolíme Ok a spustíme náš virtuální stroj.

Objeví se okno KDESU, do kterého zadáme heslo aktuálně přihlášeného uživatele.
VirtualBoxSudo.png
Po naběhnutí systému zkontrolujeme, zda-li systém dostal správné IP adresy a defaultní routy.

VirtualBoxIPRoute.png

Vše by mělo být v pořádku a fungovat na první pokus. Snad jsem vám pomohl...

Nahoru

(Jako ve škole)
Průměr: 1,00 | Hodnotilo: 4
 

Top články z OpenOffice.cz

Příspěvky

Miroslav Hrončok KDESU
churchyard 14. 12. 2007, 01:27:32
Odpovědět  Odkaz 
Předpokládám, že když místo kdesu použiju gksu, bude vše ok... nechápu, proč bych si měl kvůli tomuto kdesudo instalovat (jak nás nabádáš....)
Milan Kozák Re:KDESU
Milan Kozák 14. 12. 2007, 08:52:16
Odpovědět  Odkaz 
Mým výchozím prostředím (jak je vidět na screenshotech) je KDE a proto jsem uvedl kdesu. Ostatní uživatelé mohou bez problému použít (pokud jim to vyhovuje) například zmiňované gksu.
FIREHOL
muffy 10. 07. 2008, 23:54:47
Odpovědět  Odkaz 
Zdravím všechny,
podle návodu jsem nastavil vše napoprvé a jelo to přesně dle mého očekávání. Ve virtualboxu mám nainstalovány WinXP. Problém nastal po instalaci FIREHOLu. Všechny služby, které povolím na ubuntu jedou v pořádku. Problém je, že přestane komunikovat síť ve WinXP přes virtualbox. Pokud FIREHOL vypnu, vše jede jak má. Jakmile jej zapnu, OS ve virtualboxu opět přestane odpovídat třeba i na ping. Nevíte co kde nastavit? Potřebuji se totiž dostat na vzdálenou plochu ve windows z internetu.
VirtualBox a Bridge na Debianu/Ubuntu
janci 14. 12. 2007, 11:01:55
Odpovědět  Odkaz 
oprava # sudo chown root.vboxusers /dev/net/tun
Vlastimil Ott Re:VirtualBox a Bridge na Debianu/Ubuntu
Vlastimil Ott 14. 12. 2007, 14:09:20
Odpovědět  Odkaz 
Díky, opraveno.
VirtualBox a Bridge na Debianu/Ubuntu
radeczech 15. 04. 2008, 22:48:40
Odpovědět  Odkaz 
Vyinstaloval jsem podle návodu, ale mám problém :-/
Po nastartování hlavního os (Debian) mi nefungují dns a rozjedou se až po příkazech ifdown br0 a ifup br0, ale to pak ve výpisu ifconfig eth0 není přiřazena ip (u br0 je) a bridge pro VirtualBox tím pádem nejede.
Pls nějaká rada? Dík.
Milan Kozák Re:VirtualBox a Bridge na Debianu/Ubuntu
Milan Kozák 16. 04. 2008, 08:20:17
Odpovědět  Odkaz 
Co říká příkaz "cat /etc/resolv.conf" před a po restartu síťového rozhraní?
Re:Re:VirtualBox a Bridge na Debianu/Ubuntu
radeczech 16. 04. 2008, 22:32:04
Odpovědět  Odkaz 
Problém trochu jinde než jsem myslel -> iptables... Měl jsem totiž klasicky napsaný skript pro firewall pomocí iptables (osobní firewall: jedno eth a povoluji jen co potřebuji) a ty mi zařízly z hlavního os přístup na síť. Jakmile ho vypnu, tak provoz bez problémů.
Když bych chtěl poupravit skript pro iptables, tak co bych měl přidat v závisloti na nové bridge?
VirtualBox a Bridge na Debianu/Ubuntu
Kozlik 30. 04. 2008, 16:18:42
Odpovědět  Odkaz 
Dobrý den ze zájmu sem si tento postup vyzkoušel ale asi má svoje mouchy mam Ubuntu 7.10 s Gnome takže jsem místo kdesu použil gksu tož jediný rozdíl vše fungovalo až do restartu systému po restartu jsem se už ani nemohl připojit k internetu tak jsem umazal ty tři řádky v /etc/network/interfaces a opět restartoval vše šlo jako před tím akorád samozřejmě ve virtualboxu to nešlo kvuli tomu umazání čili bych se rád optal jak se to dá řešit aby ten bridge fungoval stále v linuxu sem začátečník ještě bych se rád zeptal zda nemá bejt ta cesta v druhém scriptu taky v uvozovkách jako ta první přišlo by mě to logický
Milan Kozák Re:VirtualBox a Bridge na Debianu/Ubuntu
Milan Kozák 3. 05. 2008, 15:20:34
Odpovědět  Odkaz 
Skoro bych si tipnul, že Vám do konfiguraci zasahuje ještě nějaký "Network Manager" z GNOME. Bez výpisu ze systému to však nemohu s jistototu tvrdit.

Zkuste si spustit konzoli a zaslat mi výpis příkazu "ip ad sh" ve chvíli, kdy je vše funkční a pak po restartu systému, v okamžiku, kdy připojení nefunguje.

Co se týče uvozovek ve druhém skriptu - zřejmně někde při editaci vypadly. Skript by však měl být funkční i bez nich.
VirtualBox a Bridge na Debianu/Ubuntu
radeczech 7. 05. 2008, 18:06:11
Odpovědět  Odkaz 
Mám několik dotazů:
1. po startu OS bridge i VirtualBox jede (lan v něm), ale po /etc/init.d/networking restart přestane cokoliv fungovat...
2. route -n mám pro eth0 i br0 stejnou metriku
3. arp -n asociované je jen br0, eth0 nekompletní
4. nějak se mi nezdá, že ip eth0=br0 a ve VB má síť. karta jinou ip, která následuje v pořadí od dhcp serveru
Opravím to tak, že přidám záznamy do route a apr. Pls nevíte, kde mohla být chyba?
VirtualBox a Bridge na Debianu/Ubuntu
muffy 10. 07. 2008, 23:56:37
Odpovědět  Odkaz 
Zdravím všechny,
podle návodu jsem nastavil vše napoprvé a jelo to přesně dle mého očekávání. Ve virtualboxu mám nainstalovány WinXP. Problém nastal po instalaci FIREHOLu. Všechny služby, které povolím na ubuntu jedou v pořádku. Problém je, že přestane komunikovat síť ve WinXP přes virtualbox. Pokud FIREHOL vypnu, vše jede jak má. Jakmile jej zapnu, OS ve virtualboxu opět přestane odpovídat třeba i na ping. Nevíte co kde nastavit? Potřebuji se totiž dostat na vzdálenou plochu ve windows z internetu.
VirtualBox a Bridge na Debianu/Ubuntu
Magic 4. 03. 2009, 09:39:58
Odpovědět  Odkaz 
Problem??? Bridge mezi Windows a VirtualBoxem v kterem je Ubunta, snazim se rozchodit Asterix na Ubunte ve VB a zaregistrovat klienta z Windows jak na to poradite prosim nekdo? jak se dostat z Windows do VB na sitove rozhrani na ktere se registruje klient

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Milan Kozák

Milan Kozák

I přestože jsem paranoidní neznamená, že mě nedostanou...


  • Distribuce: Debian, *BSD, Slackware
  • Hodnocení autora: *

| blog