네트워크에서 액세스 할 수 있도록 dhcp 주소를 얻도록 LXC 게스트를 어떻게 설정합니까?


15

다음을 사용하여 LXC를 설정했습니다.

lxc-create -t ubuntu -n lxcguest1

그러나 LAN에서 실행되는 서비스에 액세스 할 수 없으며 NAT로 나타납니다. 액세스 할 수 있도록 어떻게 설정합니까 (링크시스 라우터에서 dhcp 주소를 가져와야할까요)?

감사.


답변:


5

방금이 문제를 직접 처리했습니다. 기본적으로 브리지를 설정하고 네트워크 카드와 컨테이너를 바인딩해야합니다. 내가 따라 간 기사는 다음과 같습니다.

http://bj0z.wordpress.com/2011/08/19/howto-build-a-base-lxc-container-in-ubuntu-11-04/

마치 마치 NAT 솔루션이 아닌 '브리지'솔루션이 필요합니다. 또한 기본 LXC 브리지 설정 (NAT 사용)을 해제했습니다. 이렇게하려면 파일을 편집 /etc/default/lxc하고로 변경 USE_LXC_BRIDGE="TRUE"USE_LXC_BRIDGE="FALSE"후 재부팅하십시오.


1
이 솔루션에 약간 혼란 스럽습니다. 그가 브리지를 설정해야한다고 말한 다음 솔루션이 기본 브리지 설정을 끄는 것이라고 말합니다. 반드시 브리지 설정을 켜야합니다. 두 번째로 도움이 필요한 것은 사용자가 브리지 설정이 NAT되었다고 말한 것입니다. 확실히 브리지되어 있거나 (컨테이너가 호스트와 동일한 네트워크에 있음) NAT (다른 네트워크에 있고 라우팅이 필요함)입니다. 내 이해는 이것들이 상호 배타적이라는 것입니다.
John Little

1
이것은 현재 버전에서 모두 유효하지 않습니다. / etc / default / lx *는 완전히 사라졌습니다.
spyderdyne

5

Ubuntu 14.04.1 LTS (Trusty Tahr) 호스트에 대한 설정

/etc/network/interfaces호스트에 추가

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 0.0.0.0

auto br0
iface br0 inet dhcp
    bridge_ports eth0

(변경 후 재부팅)

그리고 컨테이너 설정 파일 ( /var/lib/lxc/containername/config)에서lxc.network.link = br0

이를 통해 컨테이너는 호스트와 마찬가지로 dhcp 서버에서 공용 IP 주소를 가져옵니다.


@JonathanY. 응답에 명시된 것처럼 br0을 / etc / network / interfaces에 추가 한 후에 나타나야합니다. 재부팅해야 할 수도 있습니다.
Epeli

3
감사. 내가 누락 된 것은 권한이없는 컨테이너와 함께 사용하기 위해 추가 <username> veth br0 2 해야 /etc/lxc/lxc-usernet했습니다 br0.
Jonathan Y.

2

기본 Ubuntu LXC 설정을 사용하고 10.0.3.xxx의 모든 트래픽을 Ubuntu 시스템으로 보내도록 라우터를 구성했습니다. DD-WRT 가능 라우터에서 설정은 아래 스크린 샷과 유사합니다. 192.168.1.137LXC를 실행하는 머신의 IP로 교체하십시오 . 다른 라우터에는 고정 경로를 설정하는 비슷한 옵션이 있어야합니다 ( 예 : Linksys 에 대한 고정 경로 명령이 있음 ).

LXC 로의 정적 라우팅을위한 DD-WRT 설정

이것은 관련이 없지만 DNSMasq 서비스를 사용하여 호스트 이름을 LXC 컨테이너의 IP 주소로 지정했습니다. 이렇게 http://gitlab/하면 네트워크의 어느 곳에서나 컨테이너에 액세스 할 수 있습니다 . 제 생각에는 IP 주소를 기억하는 것보다 호스트 이름을 사용하여 컨테이너에 액세스하는 것이 훨씬 쉽습니다.

DD-WRT DNSMasq 설정


1
좋은 접근 방법-시도하십시오. 엄지 손가락! 고정 경로 작업을 추가하면 라우터 자체가 컨테이너화 된 시스템을 핑할 수 있습니다! 그러나 많은 ISP 제공 라우터의 포트 포워딩과 의지로 인해하지 작업 : Error code: 4937 The IP address is not in the same subnet with LAN IP address. Please input another one. (LXD / LXC이 10.0.xx 서브넷에있는 동안 라우터,으로 192.168.xx 서브넷을 보유)
stamster

1
예, 솔루션이 작동하려면 라우터가 서브넷 마스크를 수락해야합니다. 나는 라우터를 구입하고 추가 할 애프터 마켓 펌웨어를 미친 구성 가능 - P를 만들기 위해
thirdender

1
나는 가정과 사무실에서 MikroTik을 사용하고 있지만 ISP가 제공하는 일반 라우터가있는 하나의 설정이었습니다. 그래서 당신의 아이디어는 매우 간단하지만 매우 효과적입니다-KISS 원칙 :) 나는 그것을 좋아하고 컨테이너가 아직 외부 세계에 노출시킬 수있는 솔루션이없는 컨테이너를 어떻게 얻을 수 없기 때문에 그것을 사용할 것입니다.
stamster
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.