virbr0-nic은 어떻게 생성됩니까? 나는 NIC를 만드는 방법을 찾으려고 노력하고 virbr0-nic있지만

어떻게 가상 네트워크 인터페이스를 만들 수 virbr0-nic있습니까? 나는 NIC를 만드는 방법을 찾으려고 노력하고 virbr0-nic있지만 인터넷에서 찾을 수있는 모든 것은 물리적 인터페이스에 연결된 인터페이스를 만드는 방법 eth0:0입니다. 내가 쓸 때

# brctl show
bridge name bridge id       STP enabled interfaces
virbr0      8000.525400e0af01   yes virbr0-nic
virbr1      8000.525400e8a6b1   yes virbr1-nic
                            vnet1

그래서 virbr0할 수있는 다리 virbr0-nic부착됩니다. 그럼 어떻게되는 virbr0-nicvnet1생성?



답변

이들은 더미 장치입니다. 당신은 실행할 수 있습니다

modprobe dummy

라는 네트워크 인터페이스를 만들려면 dummy0.

하나 이상의 장치를 원한다면

modprobe dummy numdummies=5

그런 다음 다른 네트워크 장치처럼 이러한 장치를 제어 할 수 있습니다.

MAC 주소를

ip link set dummy0 address aa:aa:aa:bb:bb:bb

IP 주소를

ip addr add 10.0.0.1/24 dev dummy0

기존 브리지에 추가

brctl addif virbr0 dummy0

설정, 설정 해제, NAT 해제 등.


답변

libvirt가이 목적으로 TUN 장치를 사용하고 있습니다. 다음 명령으로이 장치를 수동으로 만들 수 있습니다.

# /usr/bin/tunctl -t virbr0-nic

답변

virbr0-nic 가상 브리지 NIC를 나타냅니다.

기본적으로 실제 네트워크 카드와 가상 시스템의 가상 네트워크 카드를 연결합니다.

브리지 된 인터페이스를 관리하기 위해 brctl명령을 사용할 수 있습니다 . 연결된 모든 인터페이스를 나열 할 수 있습니다

brctl show

필요에 따라 브리지를 추가하거나 수정하십시오. 새로운 브리지 사용을 만들려면

brctl addbr <name>

여기서 <name>새 다리의 이름이됩니다 당신이 다리에 인터페이스를 추가 할 수 있습니다 그 때는 (virbr0-NIC 등)

brctl addif <brname> <ifname>

추가 정보 는 매뉴얼 페이지 를 참조하십시오 .


답변

그것은 정확하게 장치의 어떤 유형을 취소하지 않는 virbr0-nicvnet1사용자의 설정에 있습니다. 브리지에 포함하는 데 유용한 몇 가지 유형의 가상 장치가 있으며이 중 일부는 ip명령을 사용하여 만들 수 있습니다 .

한 종류의 가상 장치는 veth연결된 가상 이더넷 인터페이스 쌍을 생성합니다.

ip link add veth0 type veth peer name veth1

이 예제에서 veth0그리고 예제에서 veth1생각해 낸 임의의 인터페이스 이름입니다. 이 방법은 예를 들어 두 인터페이스 중 하나를 다른 네트워킹 네임 스페이스로 이동하려는 경우 유용 할 수 있습니다.

다른 종류의 가상 인터페이스는 vlan물리적 인터페이스의 특정 802.1q 태그에 연결된 단일 가상 이더넷 인터페이스를 만드는 곳입니다.

ip link add link eth0 name eth0.10 type vlan id 10

ip명령으로 작성할 수있는 훨씬 더 많은 유형의 가상 인터페이스에 대한 정보가있는 매뉴얼 페이지가 있습니다 . 맨 페이지의 이름은, 나는 그것이라는 이름의 본 버전을 설치 한에 의존 ip-link하거나 ip.

또한 가상화를 사용하는 경우 호스트와 VM을 연결하는 가상 인터페이스가 있습니다. 구체적인 내용은 사용중인 가상화 솔루션에 따라 다릅니다.


답변

그러나 나는이 / usr / bin / tunctl을 가지고 있지 않습니다. systemd-networkd를 사용하면 많은 문제가 있습니다. Cockpit은 Network-Manager 및 구성 파일을 사용합니다. 설치 후 내 네트워크가 다운되고 모든 장치와 응용 프로그램이 많은 실패로 작동합니다.

RHEL / CentOS 6,7 시스템을 새로 설치 한 후 ‘ifconfig -a’를 확인하면 인터페이스 virbr0 이름이 표시됩니다. 다음은 새로 설치된 CentOS 7 시스템의 예입니다.

ifconfig -a

….

virbr0: flags=4099[UP,BROADCAST,MULTICAST]  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:d5:f2:0c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0-nic: flags=4098[BROADCAST,MULTICAST]  mtu 1500
        ether 52:54:00:d5:f2:0c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0 인터페이스 란 virbr0 브리지 인터페이스는 libvirtd의 기본 네트워크 구성에 의해 생성됩니다. libvirtd는 호스트가 하이퍼 바이저 역할을 할 수있는 기반을 제공하는 서비스입니다. 따라서 xen 가상화를 사용하지 않는 경우 부팅시 libvirtd의 기본 네트워크가 활성화되지 않도록하거나 부팅시 libvirtd 자체가 활성화되지 않도록 할 수 있습니다. 전자는 libvirtd의 기본 네트워크에 연결된 VM 게스트가 네트워크 연결을하지 못하게하고 후자는 VM이 ​​전혀 실행되지 못하게합니다. 사용하지 않으면 괜찮습니다. libvirtd 기본 네트워크 비활성화

  1. virsh 명령을 사용하여 libvirtd의 기본 네트워크를 일시적으로 비활성화 할 수 있습니다. 재부팅해도 지속되지 않습니다.

    virsh net-destroy 기본값

  2. 부팅시 libvirtd 기본 네트워크가 생성되지 않도록 영구적으로 비활성화하려면 :

    virsh net-autostart 기본-비활성화

libvirtd 기본 네트워크 제거 libvirtd 기본 네트워크를 영구적으로 제거하려면 다음을 수행하십시오.

virsh net-undefine default

RHEL5 및 RHEL6에서 부팅시 libvirtd 서비스가 영구적으로 비활성화되도록하려면 :

chkconfig libvirtd off

RHEL7에서 부팅시 libvirtd 서비스가 영구적으로 비활성화되도록하려면 :

systemctl disable libvirtd.service