[Linux] 네트워크 설정과 nmcli

728x90

네트워크 설정

  • RHEL 7 부터 네트워크를 모니터링하고 관리하는 데몬인 NetworkManager 가 생겼다
  • 네트워크 관련 설정 파일은 /ect/sysconfig/network-scripts/ 디렉토리에서 관리한다.
  • nmcli 명령을 통해 설정 파일 수정 가능
  • 여러 개의 설정 파일로 네트워크 관리 가능

ip 주소를 확인하는 방법

  1. ifconfig
  2. ip addr show

네트워크를 설정하는 방법 4가지

  1. nmcli
  2. nmtui
  3. 그래픽 도구
  4. 설정 파일을 직접 작성하는 방법
    1. $ vi /etc/sysconfig/network-scripts/ifcfg-파일이름 에 들어가서 연결 설정 파일을 수정하거나 생성한다. 만약 nmcli con add 로 연결 설정 파일을 만들었다면 해당 파일에는 설정한 값들이 들어있다.
    2. 그 중에 몇가지 이름이 다른 항목들이 존재하는데 아래를 표를 보고 확인하자

nmcli 를 사용하여 네트워크 설정

  • 연결(connection) 설정 파일 : /etc/sysconfig/network-scripts/ 디렉토리에 존재하는 ifcfg 로 시작하는 모든 파일들이다.
  • $ nmcli dev 를 했을 때 나오는 connection 이름은 /etc/sysconfig/network-scripts/ifcfg* 파일들이다. 즉, 연결 설정 파일이다!

네트워크 관리 명령어 정리

  • nmcli device : device 종류를 확인
  • nmcli connection show : connection 종류를 확인
  • nmcli con show [con-name] : connection의 자세한 정보를 확인할 수 있다.
  • nmcli con add : 연결 설정 파일을 추가하는 명령어
    • 속성은 아래와 같다.
      con-name (connection.id) : 연결 이름
      ifname (connection.interface) : 연결할 인터페이스
      type (connection.type) : 통신방식
      autoconnect (connection.autoconnect) : 부팅 시 자동 연결 설정, 기본값은 yes
      ip4 (ipv4.address) : ip 주소 지정
      gw4 (ipv4.gateway) : gateway 주소 지정
    • $ nmcli con add con-name [connection_이름] ifname [물리_장치] type [ethernet] autoconnect [yes] => dhcp 설정, 즉 유동 아이피 설정 
      • $ nmcli con add con-name dhcp ifname enp0s9 type ethernet autoconnect yes
    • $ nmcli con add con-name [connection_이름] ifname [물리_장치] type [ethernet] autoconnetion [yes] ip4 "xxx.xxx.xxx.xxx/xx" gw4 "xxx.xxx.xxx.xxx" => 고정 아이피 설정
      • nmcli con add con-name static1 ifname enp0s9 type ethernet ip4 “해당 디바이스에 설정된 호스트 주소 중에 하나” gw4 “해당 네트워크의 게이트웨이 주소, 즉 xxx.xxx.xxx.1”
  • nmcli con reload : nmcli add 설정 후에 반드시 실행해준다.
  • nmcli con up [connection_이름] : 해당 연결 설정 파일을 올린다.
  • nmcli con down [connection_이름] : 해당 연결 설정 파일을 내린다.
  • nmcli con mod : 연결 설정 파일 수정
    • $ nmcli con mod [변경할 connection 이름]  ipv4.addresses "할당 아이피주소/프리픽스"  ipv4.gateway "게이트웨이주소"  ipv4.method [manual 또는 auto]   connection.id [변경할_con-name]  connection.interface-name [변경할_장치]
    • ipv4.method [manual 또는 auto] 를 manual 로 변경할 때 고정 ip 를 부여하지 않으면 수정되지 않는다.
    • $ nmcli con mod static2 +ipv4.address 192.168.56.221/24 로 ip 를 더 추가할 수 있다.
    • mod 로는 설정만 바꾼 것이기 때문에 실제 변경된 것이 아니다. 그래서 nmcli con reloadnmcli con up [connection 이름] 로 변경을 적용시켜주면 된다.

호스트명 변경

  • hostnamectl set-hostname 호스트명

네트워크 실습

# 초기 설정으로 초기화

# 현재 IP 주소를 확인하는 2가지 방법

$ ifconfig

$ ip addr show 

# add로 연결 생성

$ nmcli con add con-name dhcp ifname enp0s9 type ethernet autoconnect yes
$ nmcli con reload

# dhcp => 유동IP

nmcli con add con-name dhcp ifname ens33 type ethernet autoconnect yes
nmcli con reload

# static1 => ip : 192.168.56.200/24, gw : 192.168.56.1 
# modify 로 연결 수정

- dhcp 연결을 static 으로 이름 변경 후 
- 192.168.56.120으로 고정 아이피 설정
- 192.168.100.30 주소 추가
- 8.8.8.8 dns 설정 
- 자동 연결 안되도록 수정
- method maual 로 설정 후 네트워크 연결 확인

$ nmcli con mod dhcp connection.id static 
  ipv4.address 192.168.56.120/24 +ipv4.address 192.168.100.30/24 
	ipv4.gateway 192.168.56.1 ipv4.dns 8.8.8.8
	connection.autoconnect no ipv4.method manual
$ nmcli con reload
$ nmcli con up static
$ nmcli con 

# hostname을 테스트로 설정			

$ hostnamectl set-hostname test
728x90