Încerc să pun două dintre mai multe NIC-uri pentru a acționa ca un hub de comutare.
Pentru a face acest lucru, trebuie să activați modul promiscuu pe NIC-urile.
Chiar dacă l-am setat la âpromisc onâ cu comanda âip linkâ, setarea va fi resetată când repornesc computerul.
Cum pot activa modul Promiscuous permanent, chiar dacă îmi repornesc computerul?
Mediul este Ubuntu Desktop 20.04 LTS.
Din acest motiv, configurația rețelei se bazează pe NetworkManager.
O mostră de configurație minimă este prezentată mai jos:
Vagrant.configure("2") face |config|
config.vm.define :bridge do |mașină|
machine.vm.box = "bento/ubuntu-20.04"
machine.vm.network :private_network, auto_config: false, virtualbox__intnet: „intnet_a”
machine.vm.network :private_network, auto_config: false, virtualbox__intnet: „intnet_b”
machine.vm.provision „shell”, inline: <<-SHELL
apt-get update
apt-get install -y network-manager
cat > /etc/netplan/50-bridge.yaml <<'EOS'
reţea:
versiunea: 2
ethernet:
eth1:
adrese:
- 0.0.0.0/32
eth2:
adrese:
- 0.0.0.0/32
poduri:
br0:
interfete:
- et1
- et2
EOS
echo „network: { version: 2, renderer: NetworkManager }” > /etc/netplan/99-NetworkManager.yaml
netplan se aplică
COAJĂ
Sfârşit
Sfârşit
Comanda „ip link” activează starea PROMISC a NIC, așa cum se arată mai jos.
$ sudo ip link set dev eth1 promisc on
$ sudo ip link set dev eth2 promisc on
$ adresă ip
[...]
3: eth1: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
link/ether xx:xx:xx:xx:c4:f5 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
link/eter xx:xx:xx:xx:48:57 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether xx:xx:xx:xx:c4:f5 brd ff:ff:ff:ff:ff:ff
[...]
Cu toate acestea, după repornirea sistemului de operare, starea PROMISC va fi resetată.
$ sudo repornire
[...]
$ adresă ip
[...]
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
link/ether xx:xx:xx:xx:c4:f5 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
link/eter xx:xx:xx:xx:48:57 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether xx:xx:xx:xx:c4:f5 brd ff:ff:ff:ff:ff:ff
[...]
În acest exemplu, am folosit Vagrant cu scopul de a arăta un mediu reproductibil.
Vagrant nu este o cerință, ceea ce vreau cu adevărat să folosesc este Ubuntu pe un computer fizic.
Pur și simplu activarea modului promiscuu printr-o rulare de aprovizionare Vagrant nu rezolva aceasta problema.