저는 현재 서로 통신해야 하는 3개의 개별 시스템(현재 3개의 서로 다른 VM에서 수행됨)에서 실행되는 3개의 독립 모듈이 포함된 프로젝트를 진행 중입니다. 제가 겪고 있는 짜증나는 점은 VM을 다른 컴퓨터나 다른 네트워크로 전송할 때 VM이 각 모듈에 하드코딩된 것과 다른 IP 주소를 획득한다는 것입니다.
나는 이를 수행하기 위해서는 더 쉽고 이식성이 뛰어난 방법이 있어야 한다고 생각합니다. 각 VM에 별칭 IP(예: 10.0.0.x 서브넷)를 할당하고 실제 192.168.1.x 주소 대신 해당 주소로 참조할 수 있습니까? 각 VM과 호스트는 Ubuntu 9.04 64비트를 실행하고 있습니다.
미리 감사드립니다. Dave McClelland
편집: 아래에 주석을 달지 않고 /etc/network/interfaces 파일을 복사했습니다. 파일이 손상되었습니다.
auto eth0
iface eth0 inet dhcp
iface eth0:0 inet static
address 192.168.14.21
network 192.168.14.0
netmask 255.255.255.0
broadcast 192.168.14.255
gateway 192.168.14.1
답변1
/etc/network/interfaces를 편집합니다:
iface eth0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
원하는 네트워크 서브넷/설정에 맞게 변경하세요.
DHCP의 eth0에 별칭을 만들려면:
# The primary network interface
auto eth0
iface eth0 inet dhcp
iface eth0:0 inet static
address 192.168.0.10
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
인터페이스를 불러옵니다.
$ sudo ifup eth0:0
$ ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:0c:29:b0:fe:76
inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:19 Base address:0x2000
답변2
나는 우분투에서 같은 일을 겪었습니다. IP를 하드코딩하기 위해 인터페이스 파일을 편집한다고 해서 DHCP 클라이언트가 새 IP를 임대하는 것을 막을 수는 없습니다.
sudo /etc/init.d/dhcp stop
작동하는 것을 확인한 후에는 다시 돌아오지 않도록 DHCP 클라이언트를 완전히 제거할 수 있습니다.
sudo apt-get remove dhcp3-client