답변:
방금이 문제를 직접 처리했습니다. 기본적으로 브리지를 설정하고 네트워크 카드와 컨테이너를 바인딩해야합니다. 내가 따라 간 기사는 다음과 같습니다.
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"
후 재부팅하십시오.
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 주소를 가져옵니다.
<username> veth br0 2
해야 /etc/lxc/lxc-usernet
했습니다 br0
.
기본 Ubuntu LXC 설정을 사용하고 10.0.3.xxx의 모든 트래픽을 Ubuntu 시스템으로 보내도록 라우터를 구성했습니다. DD-WRT 가능 라우터에서 설정은 아래 스크린 샷과 유사합니다. 192.168.1.137
LXC를 실행하는 머신의 IP로 교체하십시오 . 다른 라우터에는 고정 경로를 설정하는 비슷한 옵션이 있어야합니다 ( 예 : Linksys 에 대한 고정 경로 명령이 있음 ).
이것은 관련이 없지만 DNSMasq 서비스를 사용하여 호스트 이름을 LXC 컨테이너의 IP 주소로 지정했습니다. 이렇게 http://gitlab/
하면 네트워크의 어느 곳에서나 컨테이너에 액세스 할 수 있습니다 . 제 생각에는 IP 주소를 기억하는 것보다 호스트 이름을 사용하여 컨테이너에 액세스하는 것이 훨씬 쉽습니다.
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 서브넷을 보유)