I.K.Picture & IT Info.

[OpenVSwitch] netplan에 vxlan 설정 본문

Cloud/OpenStack

[OpenVSwitch] netplan에 vxlan 설정

helpful-intruder 2024. 5. 31. 01:58
반응형

Ubuntu 18 버전 이후로부터는 netplan을 기본 사용을 하게되고

 

OpenStack 또한 작년 버전부터 OpenVSwitch를 기본 사용으로 하게되었습니다.

 

그러다보니 이젠 ovs를 활용하여 vxlan을 설정해야되는데요..

 

이를 2개의 NIC에서 적용할 수 있는 방법을 정리해보고자 합니다. 

 

일단, 아래와 같이 yaml 파일을 작성합니다. 

  ** eno1 은 내부 네트워크로 10.0.0.0/24 대역입니다.

  ** enp5s0는 외부 네트워크로 192.168.0.0/24 대역입니다.

 

network:
  ethernets:
    eno1:
      addresses:
      - 10.0.0.100/24
      nameservers:
        addresses: []
        search: []
      routes:
        #- to: default
      - to: 10.0.0.0/24
        via: 10.0.0.1
    enp5s0:
      dhcp4: no
  bridges:
    br-ex:
      openvswitch: {}
      dhcp4: no
      addresses:
      - 192.168.0.100/24
      routes:
      - to: default
        via: 192.168.0.1
      nameservers:
        addresses:
        - 203.232.186.58
      interfaces: [ens3]
  version: 2

 

 

위와 같이 설정 후 

명령어를 통해 br-ex 를 생성하고 enp4s0 에 추가해줍니다.

#ovs-vsctl add-br br-ex
#ovs-vsctl add-port br-ex enp5s0

 

 

이렇게 하고 재부팅을 하게되면 vxlan 설정이 마무리됩니다. 

 

 

------------------------------ 추가로 neutron에 설정 -------------------------------------

향후, OpenStack에 대한 설치 방법은 모두 정리하겠지만, 위 설정 후 neuron에 vxlan을 추가하는 방법은 아래와 같습니다.

 ** 해당 내용은 neutron에 일부만 표현한 것으로 모든 설정은 반드시 OpenStack 가이드를 참고하시기 바랍니다. 

#vi /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_Types = vxlan
memchanism_dirvers = openvswitch
extension_drivers = port_security

[ml_type_flat]
flat_networks = provider

[ml2_type_vxlan]
vni_ranges = 1:1000

 

OpenVSwitch 에이전트 관련 설정을 합니다. 

#vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
[agent]
tunnel_types = vxlan
prevent_arp_spoofing = True

[ovs]
local_ip = 10.0.0.100
bridge_mappings = provider:br-ex

 

 

DHCP 에이전트 관련 설정을 합니다. 

#vi /etc/neutron/dhcp_agent.ini
dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf

 

DNS관련 설정을 해줍니다. 

#vi /etc/neutron/dnsmasq-neutron.conf
dhcp-option-force=26,1450

 

 

마지막으로 모든 서비스를 재시작해줍니다. 

systemctl restart neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent neutron-openvswitch-agent
반응형
Comments