컬쥐네 다락방
리눅스 | 네트워크 설정 feat. nmcli 본문
Linux 7으로 업데이트되면서 Network를 담당하는 NetworkManager가 새로 생겼다
Linux 6의 network.service는 인터페이스 카드에 직접 설정하는 형태
Linux 7
NetworkManager.service에서 담당
유동 ip 연결, 고정 ip 연결 같이 '연결'이라는 논리적인 설정을 하는 형태
Connection (연결) => IP 설정 어떠한 인터페이스에 연결할 것인지, 네트워크 통신 방식은 무엇을 쓸 것인지 (와이파이, 이더넷, 블루투스) 등
인터페이스 카드
enp0s3 => nat - 외부용
enp0s8 => 원격으로 사용하기 위한 내부용
네트워크 설정 방법 4가지
1. nmcli
[root@localhost ~]# nmcli dev
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet 연결됨 enp0s3
enp0s8 ethernet 연결됨 enp0s8
virbr0 bridge 연결됨 virbr0
enp0s9 ethernet 연결 끊겼음 --
lo loopback 관리되지 않음 --
virbr0-nic tun 관리되지 않음 --
[root@localhost ~]# nmcli con
NAME UUID TYPE DEVICE
enp0s3 3d6d0ae5-78a1-4dad-b92b-2ab0c67cc40d ethernet enp0s3
enp0s8 8eff3d00-cb32-4591-b471-4c46e2a0da4d ethernet enp0s8
virbr0 d303518a-fd85-4785-88f4-a45b64c3e7b7 bridge virbr0
enp0s9 509b32f3-83fd-443a-b4eb-b5e32db2e3ae ethernet --
[root@localhost ~]# nmcli connection (탭 두번 누르면 옵션이 나온다. con 과 동일)
add delete edit help load monitor show
clone down export import modify reload up
2. nmtui => 예전 DOS 시절 게임같아서 이해하기 쉽다
3. 그래픽 도구
4. 설정 파일을 직접 수정
설정 파일을 만지는 예시 (vi 편집기로 /etc/sysconfig/network-scripts/ifcfg-enp0s9를 열었을 때)
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s9
UUID=509b32f3-83fd-443a-b4eb-b5e32db2e3ae
DEVICE=enp0s9
ONBOOT=no
~
nmcli con add
if 유동 IP 설정일 경우 (dhcp)
1. con-name (== connection.id) - 연결 이름
2. ifname (== connection.interface) - 연결할 인터페이스
3. type (==connection.type) - 통신 방식
4. autoconnect (==connection.autoconnect) - 부팅시 자동연결 설정
고정 IP인 경우 아래 내용을 추가
1. ip4 (ipv4.addressed) - ip주소 지정
2. gw4 (ipv4.gateway) - 게이트 웨이 주소 지정
ex)
nmcli con add con-name "connection 이름" ifname 물리 장치 type ethernet autoconnetion yes => dhcp 설정
nmcli con add con-name "connection 이름" ifname 물리장치 type ethernet autoconnetion yes ip4 "xxx.xxx.xxx.xxx/xx" gw4 "xxx.xxx.xxx.xxx" => 고정 아이피 설정
[root@localhost ~]# nmcli con add con-name dhcp ifname enp0s9 type ethernet autoconnect yes
연결 'dhcp' (2f7029e9-da85-4f9a-988e-93f912a7c1e8)이 성공적으로 추가되었습니다.
[root@localhost ~]# nmcli con
NAME UUID TYPE DEVICE
dhcp 2f7029e9-da85-4f9a-988e-93f912a7c1e8 ethernet enp0s9
enp0s3 3d6d0ae5-78a1-4dad-b92b-2ab0c67cc40d ethernet enp0s3
enp0s8 8eff3d00-cb32-4591-b471-4c46e2a0da4d ethernet enp0s8
virbr0 d303518a-fd85-4785-88f4-a45b64c3e7b7 bridge virbr0
추가 후 nmcli con을 입력하면 추가된 네트워크가 보인다.
네트워크에 대한 정보를 보기위해서는 reload 후 정보 조회를 하면 된다
[root@localhost ~]# nmcli con reload
[root@localhost ~]# nmcli con show dhcp
connection.id: dhcp
connection.uuid: 2f7029e9-da85-4f9a-988e-93f912a7c1e8
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: enp0s9
connection.autoconnect: 예
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.auth-retries: -1
connection.timestamp: 1646372565
connection.read-only: 아니요
connection.permissions: --
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries: --
connection.gateway-ping-timeout: 0
connection.metered: 알 수 없음
connection.lldp: default
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: 아니요
802-3-ethernet.mac-address: --
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist: --
802-3-ethernet.mtu: 자동
lines 1-29
만들어진 네트워크를 활성화 시키는 과정
[root@localhost ~]# nmcli con up static1 #반대로 up대신 down을 입력하면 비활성화
연결이 성공적으로 활성화되었습니다 (D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/6)
[root@localhost ~]# nmcli con #static1이 활성화 된 것을 볼 수 있다
NAME UUID TYPE DEVICE
enp0s3 3d6d0ae5-78a1-4dad-b92b-2ab0c67cc40d ethernet enp0s3
enp0s8 8eff3d00-cb32-4591-b471-4c46e2a0da4d ethernet enp0s8
static1 e605e67f-5c59-4506-aeca-91cce8e165b7 ethernet enp0s9
virbr0 d303518a-fd85-4785-88f4-a45b64c3e7b7 bridge virbr0
dhcp 2f7029e9-da85-4f9a-988e-93f912a7c1e8 ethernet --
enp0s9 509b32f3-83fd-443a-b4eb-b5e32db2e3ae ethernet --
[root@localhost ~]# ip addr show enp0s9
4: enp0s9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:16:a2:a9 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.201/24 brd 192.168.56.255 scope global noprefixroute enp0s9
valid_lft forever preferred_lft forever
inet6 fe80::3048:615f:a514:6ef6/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@localhost ~]# nmcli con down static1
연결 'static1'이(가) 성공적으로 비활성화되었습니다(D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/6).
네트워크 설정 변경 방법
nmcli con mod 연결이름 수정항목 수정내용
ex) nmcli con mod dhcp connection.id static2 , nmcli con mod static2 connection.autoconnetion no
hostname
hostname 명령어를 입력하면 hostname을 볼 수 있다.
이를 수정하기 위해선
1. /etc/hostname 의 내용을 수정하거나
2. hostnamectl set-hostname 호스트이름 을 입력하면 바꿀 수 있다.
'클라우드 > 리눅스' 카테고리의 다른 글
리눅스 | 방화벽 (firewall)이란? (0) | 2022.03.07 |
---|---|
리눅스 | SSH란? (0) | 2022.03.07 |
리눅스 | 소프트웨어 추가 / 삭제 (RPM, YUM) (0) | 2022.03.03 |
리눅스 | 부트 프로세스 (0) | 2022.03.03 |
리눅스 | 서비스 관리 / systemd , log (0) | 2022.03.02 |