Open vSwitch 스위치를 실제 네트워크에 연결 : iptables masquerade


10

Open vSwitch를 사용하여 virtualBox 게스트 컴퓨터간에 교환 네트워크를 만들고 호스트 OS (Ubuntu 12.04)가이 네트워크에 가입하여이 가상 네트워크의 게이트웨이로 구성하고 싶습니다.

먼저 vswitch를 만들고 장치를 탭하기위한 포트를 추가했습니다 (가상 컴퓨터에서 브리지 된 인터페이스로 사용).

ovs-vsctl add-br sw0
ovs-vsctl add-port sw0 tap0

그 후 Lubuntu 12.04 가상 머신의 IP를 정적으로 설정했습니다.

ifconfig eth0 192.168.1.3/24 up
route add -net 0.0.0.0/0 gw 192.168.1.1

호스트 OS 측에서 IP 주소를 설정했습니다.

ifconfig sw0 192.168.1.1/24 up

현재 Lubunut에서 Ubunutu까지 핑을 할 수 있습니다. 이제 호스트 컴퓨터에서 IP 마스커레이드를 사용하여 네트워크 192.168.1.0/24에서 트래픽을 인터넷에 연결된 물리적 인터페이스로 전달하려고합니다.

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE

따라서 Lubuntu (가상 머신)에서 Ubuntu eth1 인터페이스를 핑 (ping) 할 수는 있지만 실제 네트워크 (예 : 실제 LAN의 게이트웨이)에 연결할 수 없습니다.

nslookup google.com
dig @8.8.8.8 yahoo.com
dig @192.168.30.1 google.com

네트워크 토폴로지

   Internet (real gw) ------ Host OS -------- vswitch -------- VBox Guest 1
           192.168.30.1   ip masquerade    192.168.1.0/24
                                                |
                                                 ------------ VBox Guest 2

있다면 진행 상황을 추가하십시오. 나는 같은 문제를 가지고있다.
Masood_mj

답변:


1

대답은 실제로는 아니지만 VirtualBox에서 Open vSwitch를 따라보십시오.

비슷한 주제에 대한 일부 페도라 사람들의 간단한 텍스트 파일도있었습니다.

의견에 따라 간단한 요약은 다음과 같습니다.

(1) vnet0 인터페이스 및 br0 브리지를 만듭니다.

ovs-vsctl add-br br0
ip tuntap add mode tap vnet0
ip link set vnet0 up
ovs-vsctl add-port br0 vnet0
ip link # (View the created interface)

(2) vnet0 인터페이스를 사용하는 VM 스핀 업 (브리지 된 어댑터로)

(3) 브리지 br0을 실제 네트워크에 연결하십시오.

ovs-vsctl add-br br0 
ovs-vsctl add-port br0 eth0 
ovs-vsctl add-port br0 vnet0 
ifconfig eth0  0 && ifconfig br0 192.168.1.(X) netmask 255.255.255.0
route add default gw 192.168.1.1 br0
route del default gw 192.168.1.1 eth0

변경 될 수있는 외부 기사에 연결되어 있으므로 답변에서 솔루션을 요약하고 대신 기사를 참조하는 것이 좋습니다.
Esa Jokinen

0

/etc/sysctl.conf 에서 다음 줄을 주석 해제하여 재부팅시 전달을 활성화하십시오 .

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.