18/120

김건호·2022년 3월 4일
0
post-custom-banner

네트워크 설정

NetworkManager

RHEL7부터 네트워크를 모니터링하고 관리하는 데몬
설정파일을 /etc/sysconfig/network-scripts/에 저장

[root@localhost ~]# ls /etc/sysconfig/network-scripts/
ifcfg-enp0s3  ifdown-TeamPort  ifdown-isdn    ifup           ifup-ib     ifup-post      init.ipv6-global
ifcfg-enp0s8  ifdown-bnep      ifdown-post    ifup-Team      ifup-ippp   ifup-ppp       network-functions
ifcfg-enp0s9  ifdown-eth       ifdown-ppp     ifup-TeamPort  ifup-ipv6   ifup-routes    network-functions-ipv6
ifcfg-lo      ifdown-ib        ifdown-routes  ifup-aliases   ifup-isdn   ifup-sit
ifdown        ifdown-ippp      ifdown-sit     ifup-bnep      ifup-plip   ifup-tunnel
ifdown-Team   ifdown-ipv6      ifdown-tunnel  ifup-eth       ifup-plusb  ifup-wireless

여러 개의 연결 설정 파일로 네트워크를 관리

/etc/sysconfig/network-scripts/ifcfg-*

RHEL6까지 network서비스를 사용
직접 네트워크에 연결하고 인터페이스 카드에 직접 설정하는 서비스

connection

IP설정 -> 어떠한 인터페이스와 연결할 것인지, 네트워크 통신 방식은 무엇을 쓸 것인지

인터페이스 카드

  • enp0s3 : nat - 외부용
  • enp0s8 : 원격으로 사용하기 위한 내부용

설정확인

1.ifconfig [인터페이스 카드명] (지정 하지 않으면 전부)

[root@localhost ~]# ifconfig enp0s8
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet *(ipv4 주소)  netmask *  broadcast *
        inet6 *  prefixlen 64  scopeid 0x20<link>
        ether *(MAC주소)  txqueuelen 1000  (Ethernet)
        RX packets 1580  bytes 165883 (161.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 880  bytes 174794 (170.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2.ip addr show [인터페이스 카드명] (지정 하지 않으면 전부)

[root@localhost ~]# ip addr show enp0s3
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether * brd ff:ff:ff:ff:ff:ff
    inet *(ipv4) brd * scope global noprefixroute dynamic enp0s3
       valid_lft 497sec preferred_lft 497sec
    inet6 * scope link noprefixroute
       valid_lft forever preferred_lft forever

네트워크 설정방법

nmcli

  • nmcli + tab 2번 : 서브 커맨드 확인
[root@localhost ~]# nmcli (탭 두 번)
agent       connection  device      general     help        monitor     networking  radio
  • nmcli device(dev) : device 종류 확인
[root@localhost ~]# nmcli device
DEVICE      TYPE      STATE          CONNECTION
enp0s3      ethernet  연결됨         enp0s3
enp0s8      ethernet  연결됨         enp0s8
virbr0      bridge    연결됨         virbr0
enp0s9      ethernet  연결 끊겼음    --
lo          loopback  관리되지 않음  --
virbr0-nic  tun       관리되지 않음  --

nmcli connection(con)

  • nmcli connection(con)+ tab 2번 connection 서브커맨드 확인
[root@localhost ~]# nmcli connection 탭두번
add      delete   edit     help     load     monitor  show
clone    down     export   import   modify   reload   up
  • nmcli connection(con) show or nmcli con : connection 종류 확인
[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  7d3e19e8-3f38-45c0-b54b-80c66ce25ecb  bridge    virbr0
enp0s9  509b32f3-83fd-443a-b4eb-b5e32db2e3ae  ethernet  --
  • nmcli con show "con-name" : connection의 자세한 정보
[root@localhost ~]# nmcli con show enp0s8
  • nmcli con add
    어떠한 랜카드랑 인터페이스랑 연결할지
    • con-name(== connection.id) : 연결이름
    • ifname(== connection.interface) : 연결할 인터페이스
    • type (== connection.type) : 통신방식
    • autoconnect (== connection.autoconnect) : 부팅시 자동연결 설정(default는 yes)

      고정 ip 설정인 경우
      - ip4 (== ipv4.addresses) : ip주소 지정
      (ip주소 설정시 prefix 설정해야함 안하면 32로 자동으로 설정-> 네트워크 주소를 사용할 수 없음)
      - gw4 (== ipv4.gateway) : 게이트웨이 주소 지정
      추가

유동 IP 설정 : nmcli con add con-name "connection 이름" ifname 물리 장치 type ethernet autoconnetion yes

[root@localhost ~]# nmcli connection add con-name dhcp ifname enp0s9 type ethernet autoconnect yes
연결 'dhcp' (bedd6a7d-6c55-43e1-bc35-d7f84ff85066)이 성공적으로 추가되었습니다.
[root@localhost ~]# nmcli con
NAME    UUID                                  TYPE      DEVICE
dhcp    bedd6a7d-6c55-43e1-bc35-d7f84ff85066  ethernet  enp0s9
enp0s3  3d6d0ae5-78a1-4dad-b92b-2ab0c67cc40d  ethernet  enp0s3
enp0s8  8eff3d00-cb32-4591-b471-4c46e2a0da4d  ethernet  enp0s8
virbr0  7d3e19e8-3f38-45c0-b54b-80c66ce25ecb  bridge    virbr0
enp0s9  509b32f3-83fd-443a-b4eb-b5e32db2e3ae  ethernet  --
[root@localhost ~]# nmcli con show dhcp
connection.id:                          dhcp
connection.uuid:                        bedd6a7d-6c55-43e1-bc35-d7f84ff85066
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
...
ipv4.method:                            auto (유동 ip라는 듯)

고정 IP 설정 : 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 static1 ifname enp0s9 type ethernet ip4 192.168.56.201/24 gw4 192.168.56.1
연결 'static1' (ef66c004-bded-4102-baa6-a25642d91b1e)이 성공적으로 추가되었습니다.
[root@localhost ~]# nmcli con
NAME     UUID                                  TYPE      DEVICE
dhcp     bedd6a7d-6c55-43e1-bc35-d7f84ff85066  ethernet  enp0s9
enp0s3   3d6d0ae5-78a1-4dad-b92b-2ab0c67cc40d  ethernet  enp0s3
enp0s8   8eff3d00-cb32-4591-b471-4c46e2a0da4d  ethernet  enp0s8
virbr0   7d3e19e8-3f38-45c0-b54b-80c66ce25ecb  bridge    virbr0
enp0s9   509b32f3-83fd-443a-b4eb-b5e32db2e3ae  ethernet  --
static1  ef66c004-bded-4102-baa6-a25642d91b1e  ethernet  --
[root@localhost ~]# nmcli con show static1
ipv4.method:                            manual (고정 ip)
ipv4.addresses:                         192.168.56.201/24
ipv4.gateway:                           192.168.56.1
  • nmcli con reload : 네트워크 연결 설정 불러오기
    설정 변경시 반드시 사용(설정 파일을 직접 설정한 경우도)
  • nmcli con up "connection 이름" : 네트워크 연결 활성화
[root@localhost ~]# nmcli con up static1
연결이 성공적으로 활성화되었습니다 (D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/6)
  • nmcli con down "connection 이름" : 네트워크 연결 비활성화
[root@localhost ~]# nmcli con down static1
연결 'static1'이(가) 성공적으로 비활성화되었습니다(D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/6).
  • nmcli modify(mod) : 네트워크 연결 수정
nmcli con mod[ify] (내가 수정하고자 하는 연결) 연결이름 수정항목 수정사항
[root@localhost ~]# nmcli con mod dhcp connection.id static2

유동 IP에서 고정 IP로 수정시 주의할 점

[root@localhost ~]# nmcli con mod static2 ipv4.method manual
오류: 연결 'static2' 수정 실패: ipv4.addresses: 이 속성은 'method=manual'에 대해 비어 있을 수 없습니다.
유동 ip 설정 -> 기본적으로 ip 부분이 비어있음 address 그래서 메소드 설정이 안됨
사전에 ip부터 부여를 해줘야함
[root@localhost ~]# nmcli con mod static2 ipv4.addresses 192.168.56.220/24
[root@localhost ~]# nmcli con mod static2 ipv4.method manual
showshow
ipv4.method:                            manual
ipv4.addresses:                         192.168.56.220/24
ipv4.gateway:                           192.168.56.1
[root@localhost ~]# nmcli con mod static2 ipv4.gateway 192.168.56.1
dns 추가
[root@localhost ~]# nmcli con mod static2 ipv4.dns 8.8.8.8
ipv4.dns:                               8.8.8.8
[root@localhost ~]# nmcli con mod static2 +ipv4.addresses 192.168.56.221/24
ip는 추가로 등록 가능

수정 시 설정파일 이름이 바뀌어있지 않지만, 파일 내용은 수정이 되어 있음

nmtui

# nmtui

network 설정창 들어가기

그래픽 도구

그래픽 환경에서 프로그램 -> 시스템 도구 -> 네트워크 설정

설정파일을 직접 설정

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-*

nmcli와 비교

ifcfgnmcli
BOOTPROTOipv4.method (none==manual,dhcp==auto)
IPADDR=IP_address, PREFIX=Prefixipv4.addresses IP_address/Prefix
GATEWAY=Gatewayipv4.gateway GW
DNS=DNS_addressipv4.dns DNS
ONBOOT=yesconnection.autoconnect yes
NAME=CON_NAMEconnection.id CON_NAME
DEVICE=INTERFACEconnection.inetface-name INTERFACE

하나의 인터페이스에 하나의 연결설정 파일만 활성화 가능

hostname

네트워크에 연결된 장치에 대한 고유한 이름
도메인 이름에서 서버에서 제공하는 서비스로 명시하는 것이 좋음

  • hostname : hostname 확인
  • hostnamectl set-hostname [hostname명] : hostname 수정
[root@localhost ~]# hostnamectl set-hostname encore.class4
[root@localhost ~]# hostname
encore.class4

hostnamectl 명령을 사용하지 않고 /etc/hostname 파일을 만들어 지정 가능

[root@localhost ~]# cat /etc/hostname
localhost.localdomain
profile
Ken, 🔽🔽 거노밥 유튜브(house icon) 🔽🔽
post-custom-banner

0개의 댓글