Red Hat Training

A Red Hat training course is available for RHEL 8

12.2. systemd 없이 DHCP 플러그인 실행

podman run --network 명령을 사용하여 사용자 정의 네트워크에 연결합니다. 대부분의 컨테이너 이미지에는 DHCP 클라이언트가 없지만 dhcp 플러그인은 DHCP 서버와 상호 작용할 수 있는 프록시 DHCP 클라이언트 역할을 합니다.

참고

이 절차는 rootfull 컨테이너에만 적용됩니다. rootless 컨테이너는 dhcp 플러그인을 사용하지 않습니다.

사전 요구 사항

  • container-tools 모듈이 설치되어 있습니다.

절차

  1. dhcp 플러그인을 수동으로 실행합니다.

    # /usr/libexec/cni/dhcp daemon &
    [1] 4966
  2. dhcp 플러그인이 실행 중인지 확인합니다.

    # ps -a | grep dhcp
    4966 pts/1    00:00:00 dhcp
  3. alpine 컨테이너를 실행합니다.

    # podman run -it --rm --network=example alpine ip addr show enp1s0
    Resolved "alpine" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
    Trying to pull docker.io/library/alpine:latest...
    ...
    Storing signatures
    
    2: eth0@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
        link/ether f6:dd:1b:a7:9b:92 brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.22/24 brd 192.168.1.255 scope global eth0
        ...

    이 예제에서는 다음을 수행합니다.

    • --network=example 옵션은 연결할 example이라는 네트워크를 지정합니다.
    • alpine 컨테이너 내부의 ip addr는 enp1s0 명령을 표시합니다. 이 명령은 네트워크 인터페이스 enp1s0 의 IP 주소를 확인합니다.
    • 호스트 네트워크는 192.168.1.0/24
    • eth0 인터페이스는 alpine 컨테이너에 대해 192.168.1.122의 IP 주소를 리스합니다.
참고

이 구성은 수명이 많은 컨테이너 및 긴 리스가 있는 DHCP 서버가 많은 경우 사용 가능한 DHCP 주소를 소모할 수 있습니다.