lxc 네트워크를 로컬 네트워크와 연결

lxc 네트워크를 로컬 네트워크와 연결

현재 환경은 다음과 같습니다. Windows 10에는 Hyper-V에 Ubuntu 16.04가 설치되어 있으며 이 호스팅된 Ubuntu는 로컬 네트워크 10.10.10.*에 연결되어 있습니다. 여기서 Ubuntu의 IP는 10.10.10.1이고 Windows의 IP는 10.10입니다. 10.100. 그들은 서로를 만나고 모든 것이 괜찮습니다. Ubuntu에는 LXC/LXD 컨테이너(nginx, postgres 및 nodejs 서비스)가 있고 이러한 컨테이너에 대해 chyrrybr0이라는 네트워크를 주소 10.10.0.*으로 연결했으므로 현재 환경은 다음과 같습니다.

여기에 이미지 설명을 입력하세요.

컨테이너에서 Windows를 ping할 수 있지만 Windows에서 컨테이너에 ping하거나 연결할 수는 없습니다. 그래서 내 질문은 다음과 같습니다. 어떻게 해야 합니까?컨테이너에 새 네트워크 인터페이스 추가, 고정 IP 주소를 10.10.10.*으로 설정할 수 있습니까?

다음과 같은 네트워크를 만들려고 합니다.

여기에 이미지 설명을 입력하세요.

편집: 새로운 eth1 인터페이스를 추가할 수 있었습니다. 먼저 Ubuntu 호스트에서 실행한 다음 lxc network attach eth1 postgres eth1postgres 컨테이너에 네트워크 인터페이스 구성 10-win-network.cfg및 콘텐츠를 추가합니다.

auto eth1
iface eth1 inet static
address 10.10.10.5
netmask 255.255.255.0

하지만 이제부터는 100% packet loss10.10.10.100( )의 Windows 호스트와 icmp_seq=1 Destination Host Unreachable10.10.10.1( )의 Ubuntu 호스트를 ping할 수 없습니다. 그러나 10.10.0.249(cherrybr0의 Ubuntu 호스트 IP 주소)에 대한 핑은 성공했습니다. 내가 무엇을 놓치고 있나요?

답변1

이 문제를 해결할 수 있었는지 모르겠지만 최근 비슷한 문제("내 노트북 ​​외부에서 로컬 노트북에서 실행되는 컨테이너에 어떻게 액세스합니까?")가 발생하여 방금 정적 경로를 추가했습니다. 내 집 라우터 ...

속도:

  • 예를 들어 모든 컨테이너를 별도의 네트워크에서 실행합니다 172.18.0.0/16. 이러한 모든 컨테이너는 하나의 IP 뒤에 있습니다 172.18.0.1. 예를 들어 이 머신이라고 부르겠습니다 Ship(컨테이너가 있기 때문에..헤헤).
  • 당신의Ship 반품로컬 IP가 있어야 합니다. 예를 들어 192.168.1.xxx이는 라우터가 알고 있는 주소입니다.
  • 172.18.0.0라우터(또는 라우터인 경우 Windows 컴퓨터)에서 네트워크 서브마스크에 대한 고정 경로를 s 255.255.0.0에 추가합니다 .Ship192.168.1.xxx

짜잔, 이제 172.18.0.xxx로컬 네트워크(Windows 시스템 포함) 어디에서나 컨테이너를 호출 할 수 있습니다.

관련 정보