KVM kurlumu gerçekleştirdiyseniz, üzerinde oluşturuğunuz makinalar için bridge interface seçemediğinizi göreceksinizdir. Bunun sebebi default KVM kurulumu ile bridge interface tanımı yapılmıyor olmasıdır. Bunun için networke bağlı olan interfaceinizi bridge olarak tanımladıgınız interfaceye ekleyeceğiz ve daha sonra oluşturdugunuz sanal makinaların interfacesini de bu bridge interfaceye ekleyerek networküzünle konuşmasını, aynı bloktan ip adresi almasını ve hatta internete çıkmasını sağlayacağız.
Eğer KVM yüklemesinden sonra bridge interface tanımlamassanız, oluşturduğunuz tüm sanal makinalar sanal ağınıza dahil olacaktır ve bu sanal ağ da gerçek ağınıza hiç bir zaman dahil olmayacaktır dolayısıyla sanal makinalarınızın gerçek ağınızdan erişilmesi mümkün olmayacaktır ve sanal makinalarınız internete çıkamayacaklardır.
Evet bridge interface tanımlamak için sırasıyla şu adımları izlemek yeterli olacaktır;
Öncelikle Centos 5.5 ya da Redhat kurduğunuzu ve SeLinux, Firewall ayarlarını kapattığınızı (disabled konumuna getirdiğinizi) varsayıyorum.
Bridge interface oluşturmak için kullanacağımız araçların bulunduğu paketi sistemimize yükleyelim
[root@kvm-endersys ~]# yum install bridge-utils
KVM host makinamızın eth1 interfacesinin gerçek ağımıza bağlı olduğunu varsayarak aşağıdaki konutları yazıyorum. Eğer başka bir interfaceye baglı ise komutlardaki “eth1” ibarelerini değiştirmelisiniz.
Her ihtimale karşı öncelikle eth1 scriptimizin yedeğini alalım.
[root@kvm-endersys ~]# cd /etc/sysconfig/network-scripts [root@kvm-endersys ~]# cp ifcfg-eth1 ifcfg-eth1.bak
Aşağıdaki komut ile eth1 interfacesinin hangi interfaceye bridge edileceğini belirtmek için ilgili script dosyasını aşağıdaki gibi güncelliyoruz. Eth1 bridge edileceği için bu interfaceye ip adresi vermek zorunda değiliz. Script içinde belirttiğimiz bootproto=static static ip adresine sahip olacagını, onboot=yes seçeneği başlangıçta up olmasını sağlayacak olan parametreler.
[root@kvm-endersys ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=static ONBOOT=yes BRIDGE=bridge0
Daha sonra yeni bir bridge interface tanımlayabilmek için gerekli scripti oluşturuyoruz. Statik olmasını sağlamak için gerekli bilgileri scriptte belirtiyoruz. Bu statik IP bilgilerini kendi networkünüze göre belirlemelisiniz.
[root@kvm ~]# vi /etc/sysconfig/network-scripts/ifcfg-bridge0 DEVICE=bridge0 TYPE=Bridge BOOTPROTO=static IPADDR=10.6.0.118 NETMASK=255.255.255.0 NETWORK=10.6.0.0 ONBOOT=yes
Evet bu tanımlamaların ardından network servisini baştan başlatmamız yeterli olacaktır. Bu aşamada ssh bağlantınız kopabilir. Her ihtimale karşı makinaya fiziksel olarak erişebiliyor olmanız servislerin up olmaması halinde düzeltmeniz için iyi olacaktır. En kötü ihtimalle bu konfigusayonları aktifleyebilmek için host makinayı bir kez reboot etmek kesinlikle işe yarayacaktır.
[root@kvm-endersys ~]# /etc/init.d/network restart
Evet bridge interfacemiz artık hazır 🙂
[root@kvm-endersys ~]# ifconfig bridge0 Link encap:Ethernet HWaddr 00:13:72:0B:14:57 inet addr:10.6.0.118 Bcast:255.255.255.255 Mask:255.255.255.0 inet6 addr: fe80::213:72ff:fe0b:1457/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2282 errors:0 dropped:0 overruns:0 frame:0 TX packets:908 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1394144 (1.3 MiB) TX bytes:98902 (96.5 KiB) eth1 Link encap:Ethernet HWaddr 00:13:72:0B:14:57 inet6 addr: fe80::213:72ff:fe0b:1457/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6151 errors:0 dropped:0 overruns:0 frame:0 TX packets:3203 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:6407427 (6.1 MiB) TX bytes:341028 (333.0 KiB) Memory:fe3e0000-fe400000 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:1656 errors:0 dropped:0 overruns:0 frame:0 TX packets:1656 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3606505 (3.4 MiB) TX bytes:3606505 (3.4 MiB) virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
inet6 addr: fe80::200:ff:fe00:0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:40 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:8275 (8.0 KiB)
Artık sanal makina oluştururken “Shared Physical Device” seçeneği ile bridge interface kullanabiliriz.
Umarım faydalı bir paylaşım olmuştur. Yeni bir yazıda görüşmek dileğiyle…
[root@kvm ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
Konuyla alakalımı bilmiyorum, fakat bi amatöre yardımcı olursanız sevinirim !..
Pc’me VM VirtualBox ile Centos 6.3 kurdum, herşey çok güzel. Hostname gibi gerekli tüm ayarları yaptım. Firewall, selinux pasif durumda.
Centos’dan internete çıkabiliyorum.
PC ‘den Centos’a ip adresi ile ulaşabilirken Centos’un hostname ile ulaşamıyorum!? PC den Centosun IP adresi ile dosya paylaşımı yapabiliyor ve 80 nolu porta ulaşıp web sayfalarımı görüntüleyebiliyorum,
Hostname ile ulaşamıyor oluşumun muhtemel sebebi sizce nedir ?
Kurdugunuz sanal makina üzerindeki interface ayarlamaları nasıl? Yani NAT’lanarak mı IP adresi alıyor yoksa direk modeminizin blogundan bir adresi almasını mı sagladınız? Eğer NAT ise DNS sunucu adresi pingi çalıştırdıgınız makinanın DNS sunucu adresi ile aynı olmadıgından bu olabilir. /etc/resolv.conf dosyası içerisinden DNS sunucu adresinizi kontrol edebilirsiniz. Ya da nslookup hakancakiroglu.com yazdıgınızda hangi DNS sunucuyu kullandıgınızı görebilirsiniz.
Cevap için teşekkür ederim..
Sanal makine ayarları;
VirtualBox’ın ağı = Bridged Adapter
/etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=eth0
UUID=c6315b9e-fd84-4233-a0bd-12374f0505da
ONBOOT=yes
LAST_CONNECT=1349977440
********************************
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos
GATEWAY=192.168.1.1
**********************
/etc/hosts’ a centos ipsinini ve hosname i ekledim
192.168.1.100 centos
**********************
/etc/resolv.conf
nameserver 192.168.1.1
**********************
Benim olmasını istediğim PC den tarayıcıya centos yazdığımda (sanal makinenin adını) websayfalarımı görüntülemek.. Sanal makinenin ip adresi ile olurken adı ile olmuyor !.. ilginç olan sanal makinede tarayıcaya hostname yazdığımda web sayfalarımı görüntüleyebiliyorum, PC ye geçince hostname i bulamıyor..