하나의 인터페이스에서 동시에 DHCP 및 고정 IP 주소


16

Linux에서 단일 인터페이스에 여러 IP 주소를 사용할 수 있습니다 (eg. eth0:0, eth0:1). 그러나 DHCP와 고정 IP를 동시에 사용할 수 있습니까? eth0:1고정 IP 주소가 eth0:0있어야하며 DHCP를 사용하여 구성해야합니다.

우리는 어떻게 두 가지를 모두 달성 할 수 있습니까?


이 NetworkManager 구성에 대한 질문입니까?
madneon

답변:


13

네, 가능합니다. 그러나 일반적으로 eth0 : 0 및 eth0 : 1 대신 eth0 및 eth0 : 0을 사용합니다. 다음과 같이 / etc / network / interfaces 파일을 설정할 수 있습니다 :

auto lo eth0 eth0:0
iface lo inet loopback

iface eth0 inet dhcp

iface eth0:0 inet static
    address ...
    netmask ...

DHCP에서 얻은 게이트웨이 설정과 충돌 할 수 있으므로 eth0 : 0 인터페이스에서 게이트웨이를 설정하지 않을 수 있습니다. / etc / network / interfaces에 수동 설정을 입력하면 네트워크 관리자가 설정을 관리하지 않도록해야합니다. 이것은 여기에서 다룹니다 .


9

동일한 문제에 대한 답을 찾기 위해 집중적으로 검색 한 후 Network Manager가 연결을 계속 관리 할 수있는 솔루션을 개발했습니다. 먼저 연결 편집> 추가를 사용하여 Network Manager에서 정상적으로 DHCP 연결을 작성하십시오. / etc / NetworkManager / system-connections /에 파일이 생성됩니다. 슈퍼 유저 권한으로 텍스트 편집기에서이 파일을여십시오. 예 : sudo nano / etc / NetworkManager / system-connections / DHCPEthernet

코드는 다음과 같습니다.

[802-3-ethernet]
duplex=full
mac-address=00:0E:C6:88:31:43

[connection]
id=DHCPEthernet
uuid=26af83f1-c48c-4454-9038-bbb4bec3e3a3
type=802-3-ethernet
timestamp=1405008541

[ipv6]
method=auto

[ipv4]
method=auto

ipv4 섹션 아래에 추가하려는 고정 IP 주소에 대한 행을 추가하십시오. 이 예제에서는 게이트웨이없이 192.168.10.1을 사용하고 있습니다.

address1=192.168.10.1/24,0.0.0.0

파일을 저장하고 네트워크 관리자를 사용하여 네트워크 연결을 끊었다가 다시 연결하십시오. Pinging은 두 IP 주소가 모두 올바르게 작동하는지 확인합니다. ip addr 의 출력 은 성공을 확인합니다.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 14:10:9f:d7:22:0b brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.71/24 brd 172.20.1.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::1610:9fff:fed7:220b/64 scope link 
       valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0e:c6:88:31:43 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.60/24 brd 172.20.1.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet 192.168.10.1/24 brd 192.168.10.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::20e:c6ff:fe88:3143/64 scope link 
       valid_lft forever preferred_lft forever

address1여기에있는 ipv4.addresses설정은 API 또는 nmcli를 사용하는 경우 실제로 NetworkManager 의 설정입니다. 이 경우 ipv4.method"auto"로 설정 해야합니다 .
Dave

정상적으로 연결을 만든 후에도 / etc / NetworkManager / system-connections / 디렉토리에 파일이 없습니다. 다른 곳에 보관되어 있습니까? 아마도 SELinux일까요?
Steve Jorgensen 님이

2

나는 조금 주위를 확인하고 요즘 nmcli도구 를 사용 하여이 구성을 만들 수 있다는 것을 알았습니다 . 실제로 NetworkManager를 완벽하게 제어 할 수 있습니다. nmcli의 매뉴얼 페이지는 매우 철저하고 이해하기 쉽습니다. 참조 man nmcliman nm-settings.

이 질문에서 구성을 설정하려면 가장 쉬운 방법은 현재 연결 프로필을 편집하는 것입니다. GUI NetworkManager 도구에서 프로파일 이름을 찾아 CLI 편집기를 사용하여 편집하십시오 (여기서 이름은 Ethernet connection).

$ sudo nmcli c '이더넷 연결'편집

=== | nmcli 대화식 연결 편집기 | ===

기존 '802-3- 이더넷'연결 편집 : '이더넷 연결 1'

'help'또는 '?'를 입력하십시오. 사용 가능한 명령.
자세한 속성 설명을 보려면 '설명 [.]'을 입력하십시오.

연결, 802-3- 이더넷 (이더넷), 802-1x, dcb, ipv4, ipv6 설정을 편집 할 수 있습니다.
nmcli> goto ipv4
method, dns, dns-search, dns-options, dns-priority, address, gateway, routes, route-metric, ignore-auto-routes, ignore-auto-dns, dhcp-hostname, dhcp 등의 속성을 편집 할 수 있습니다. -send-hostname, 기본값 없음, may-fail, dad-timeout, dhcp-timeout, dhcp-client-id, dhcp-fqdn
nmcli ipv4> set ipv4.addresses {your_address_here} / {your_network_prefix_here} 
'ipv4.method'를 'manual'로 설정 하시겠습니까? [예] : 아니오 
nmcli ipv4> 저장
연결 '이더넷 연결'(87fa8e41-7fe3-435a-a2f2-29a9c8084d2d)이 성공적으로 업데이트되었습니다.
nmcli ipv4> 종료

굵은 체 부분은 입력이며, 중괄호 안의 항목을 설정으로 바꿉니다. no에 대한 질문에 대답 하면 ipv4.methodDHCP 구성이 유지됩니다. 그 후 GUI-tools 또는 nmcli를 사용하여 구성을 비활성화하고 다시 활성화해야합니다.

원하는 경우 명령 행에서 새 연결을 작성할 수도 있습니다.

sudo nmcli -p connection add type ethernet ifname {your_interface_name} con-name MyConnection -- ipv4.addresses {your_address}/{your_prefix_length} ipv4.method auto

다시 중괄호로 묶은 것을 설정으로 바꾸십시오.

마지막으로, 여전히 구성 파일을 편집하려면 편집 후 파일을 다시로드해야합니다.

sudo nmcli connection reload

이 방법으로 작성된 구성은 GUI 도구를 혼동 할 수 있습니다. 기껏해야 정적 주소를 표시하지 않습니다.


0

데비안 버스터 / 10 NetworkManager nm-connection-editor는 이제 그래픽 사용자 인터페이스에서이를 수행 할 수 있습니다.

연결을 편집하고 "IPv4 설정"탭을 연 후 다음을 수행하십시오.

  1. 방법을 "자동 (DHCP)"으로 설정하십시오.
  2. 아래에 "추가 고정 주소"를 추가하십시오.

이것은 다음 설정을 기록합니다 /etc/NetworkManager/system-connections/connection.nmconnection:

[ipv4]
address1=10.0.0.1/24
method=auto
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.