Linux'ta nasıl birden fazla kukla arayüz oluşturabiliriz?


11

Sahte Ethernet kukla Arayüzü Oluşturmak için Linux'ta kukla arayüz sürücüsünü ilk önce aşağıdaki komutu kullanarak başlatırız: / sbin / modprobe dummy .
Daha sonra yukarıda başlattığımız Dummy Driver'a Ethernet Arabirimi takma adı atarız.

Ancak aşağıdaki Önemli hata mesajını verir: FATAL: Modül kukla bulunamadı.

Ayrıca, cd / sys /
device / virtual / net # yolunda , aşağıdaki adlarla sanal arabirimler olduğunu görebiliriz: dummy0 / lo / sit0 / tunl0 /

ifconfig -a

dummy0:   Link encap:Ethernet  HWaddr aa:3a:a6:cd:91:2b    
          BROADCAST NOARP  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)

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:111 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0   
          RX bytes:8303 (8.1 KiB)  TX bytes:8303 (8.1 KiB)

sit0:      Link encap:UNSPEC  HWaddr 00-00-00-00-FF-00-00-00-00-00-00-00-00-00-00-00    
          NOARP  MTU:1480  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)

tunl0:  Link encap:IPIP Tunnel  HWaddr   
          NOARP  MTU:1480  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)  

Bu nedenle, modprobe komutu çekirdek modülünü yükleyemez. Sahte bir arabirim sürücüsünü başlatmak için modprobe veya insmod
kullanarak bir çekirdek modülünü nasıl yükleyebiliriz ? Tek bir yüklü modülde birden fazla kukla arayüz oluşturabilir miyiz?


Ethernet sanal arayüzü hakkında konuştuğunuzda, herhangi bir sahte modül yüklemenize gerek yoktu.
Eth0

İfconfig komutunu kullanarak Ethernet sanal arabiriminde farklı IP adresi, alt ağ ve ağ geçidi ayarlayabilirsiniz. Sadece rc.local üzerine ekleyin ve önyüklemeye yüklendi.Herhangi bir ethernet sanal arabirim yapılandırma dosyası oluşturmanıza gerek yoktu.
supriady

1
@supriady Sanal arabirimler hakkında soru sormuyorum. Ben eth0: 1 ve benzeri gibi ifconfig kullanarak bir arabirime sanal ip atayabilirsiniz biliyorum ama burada Mac h / w adresi oluşturulan her sanal arabirim için aynı olacaktır. Benim sorum, gerçek arayüzlerden farklı bir H / w Mac adresine sahip yukarıda gösterilen kukla0 gibi çoklu kukla arayüzlerin nasıl oluşturulacağıdır.
Kushal

Emin olmak için, bu arayüzlerin makinenin dışından görünmeyeceğini anlıyorsunuz, değil mi?
Julie Pelletier

Lütfen soruya modprobehatanın TAM çıktısını ve çıktısını ekleyinuname -r
Rui F Ribeiro

Yanıtlar:


13

Birkaç sahte arayüz eklemenin genel yolu iproute2 kullanmaktır :

# ip link add dummy0 type dummy
# ip link add dummy1 type dummy
# ip link list
...
5: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 22:4e:84:26:c5:98 brd ff:ff:ff:ff:ff:ff
6: dummy1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 9e:3e:48:b5:d5:1d brd ff:ff:ff:ff:ff:ff

Ancak FATAL: Kukla modülü bulunamadı hata mesajı , kukla arayüz modülünün etkin olmadığı bir çekirdeğe sahip olabileceğinizi gösterir, bu nedenle çekirdek yapılandırmanızı kontrol ettiğinizden ve gerekirse çekirdeği yeniden derlediğinizden emin olun.


"FATAL: Kukla bulunamadı modülü hata mesajı, kukla arayüz modülünün etkin olmadığı bir çekirdeğe sahip olabileceğinizi gösterir" => Hayır, kukla sürücünün bir modül olarak oluşturulmadığı, bunun yerine doğrudan çekirdeğe eklendiği anlamına gelebilir . Görünüşe göre dummy0OP makinesinde bir arayüz var. Bunun dışında cevabınız iyi.
xhienne

1
@xhienne modprobe sürümünüze bağlıdır, ancak kmoden azından yerleşiklerin son sürümleri hakkında bilgi sahibi olacaktır. Dene. Örneğin modprobe unixve modprobe -r unix.
sourcejedi

7

Önyükleme sırasında kukla arayüzler oluşturmak için, /etc/modules

dummy

Modülün dummyçekirdek 4.4.x'ten önce varsayılan olarak yalnızca iki sahte arabirime izin verdiğinden emin olun (doğru sürüm doğrulanacak).

Daha fazlasına ihtiyacınız varsa, istediğiniz kukla arayüzlerin sayısı ile bir parametre oluşturmanız /etc/modprobe.d/localveya /etc/modprobe.d/dummy.confparametreyi tanımlamanız gerekir numdummies:

options dummy numdummies=4 

@Feuermurmel yorumlarına göre, daha yeni çekirdeklerde, şu komutu kullanarak varsayılan olarak oluşturulan ikisinin yanı sıra daha fazla kukla arayüz eklersiniz:

sudo ip link add dummyX type dummy

En azından çekirdek 4.4.0 ile, ek kukla arayüzler eklenebilir ip link add dumdum type dummy.
Feuermurmel

@Feuermurmel 2'den fazla eklemek için çalışıyorsa bir ideia var mı?
Rui F Ribeiro

Kesinlikle öyle. Kendiniz test edin:for i in {0..100}; do ip link add blubb-$i type dummy; done
Feuermurmel

@Feuermurmel İyi haber, bahşiş için teşekkürler. Ek bir cevap olarak eklemek isteyebilirsiniz. IMO'nun her ikisi de, alt çekirdek sürümlerinde sıkışmış çok sayıda iOT cihazı olduğu için uygundur.
Rui F Ribeiro

Merak yok: Bu cihazlar, bir kez oluşturulduktan sonra, yeniden başlatmalarda kalıcı mıdır veya her sistem başladıktan sonra bunları yeniden oluşturmanız mı gerekiyor?
Robidu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.