반응형

Test OS: Ubuntu 16.04 Server (amd64)


서버가 고정IP(IPv4)를 사용하는 경우를 기준으로 작성했다.



1. brctl 도구를 이용해서 br0 인터페이스 추가

  브릿지 인터페이스 이름은 꼭 br0이 아니어도 상관은 없다.


$ sudo brctl addbr br0



2. 인터페이스 설정


/etc/network/interfaces 파일

auto 이더넷_인터페이스_이름

iface 이더넷_인터페이스_이름 inet manual


auto br0 

iface br0 inet static

    address 고정IP주소

    netmask 넷마스크

    gateway 고정IP에_해당하는_게이트웨이

    dns-nameservers 도메인_네임_서버_IP주소

    bridge_ports 위에_manual로_설정된_물리적_이더넷_인터페이스

    bridge_fd 0

    bridge_maxwait 0

    bridge_stp off


# lo 인터페이스라던가, 그외 별도로 다른 인터페이스에 대해 설정해둔 것은 그대로 둘 것


(예) 서버에서 쓰는 물리적 이더넷 인터페이스 이름이 eno1이고 고정IP를 10.0.4.11/24로 쓸 경우,


auto eno1

iface eno1 inet manual


auto br0 

iface br0 inet static

    address 10.0.4.11

    netmask 255.255.255.0

    gateway 10.0.4.1

    dns-nameservers 8.8.8.8

    bridge_ports eno1

    bridge_fd 0

    bridge_maxwait 0

    bridge_stp off 



3. 서비스 재시작 또는 재부팅해서 설정 적용


$ sudo /etc/init.d/networking restart  또는 sudo service networking restart

$ sudo /etc/init.d/libvirt-bin restart


아니면 그냥 깔끔하게 재부팅.



서버 쉘에서 ifconfig 쳤을 때, br0 인터페이스가 보이면서 고정IP주소가 제대로 설정되어 있고, HWaddr에 적힌 맥주소가 실제 물리적 이더넷 인터페이스와 똑같으면, 그리고 물리적 이더넷 인터페이스에는 아무 IP주소도 할당되어 있지 않으면 성공적으로 설정한 것이다.


혹시 재부팅 후에 SSH로 서버에 접근이 안되는 경우 (== 서버가 네트워크 연결을 못하는 경우), /etc/network/interfaces 파일에서 bridge_ports에 적힌 이름실제 물리적 이더넷 인터페이스 이름이 서로 맞지 않는지, 즉 오타가 없는지 먼저 점검할 것 (여기서 두 번 실수함. ㅠㅠ)

만약 물리적 인터페이스 이름을 정확히 매치하지 않으면, KVM (정확히 말하면 virt-manager GUI에서의 개별 VM 설정에서 네트워크 인터페이스 설정 창)에서는 br0이라는 이름 옆에 empty bridge라고 표시된다.





반응형
블로그 이미지

Bryan_

,