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서비스를 사용
직접 네트워크에 연결하고 인터페이스 카드에 직접 설정하는 서비스
IP설정 -> 어떠한 인터페이스와 연결할 것인지, 네트워크 통신 방식은 무엇을 쓸 것인지
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
[root@localhost ~]# nmcli (탭 두 번)
agent connection device general help monitor networking radio
[root@localhost ~]# nmcli device
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet 연결됨 enp0s3
enp0s8 ethernet 연결됨 enp0s8
virbr0 bridge 연결됨 virbr0
enp0s9 ethernet 연결 끊겼음 --
lo loopback 관리되지 않음 --
virbr0-nic tun 관리되지 않음 --
[root@localhost ~]# nmcli connection 탭두번
add delete edit help load monitor show
clone down export import modify reload up
[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 --
[root@localhost ~]# nmcli con show enp0s8
고정 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
[root@localhost ~]# nmcli con up static1
연결이 성공적으로 활성화되었습니다 (D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/6)
[root@localhost ~]# nmcli con down static1
연결 'static1'이(가) 성공적으로 비활성화되었습니다(D-Bus 활성 경로: /org/freedesktop/NetworkManager/ActiveConnection/6).
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
network 설정창 들어가기
그래픽 환경에서 프로그램 -> 시스템 도구 -> 네트워크 설정
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-*
ifcfg | nmcli |
---|---|
BOOTPROTO | ipv4.method (none==manual,dhcp==auto) |
IPADDR=IP_address, PREFIX=Prefix | ipv4.addresses IP_address/Prefix |
GATEWAY=Gateway | ipv4.gateway GW |
DNS=DNS_address | ipv4.dns DNS |
ONBOOT=yes | connection.autoconnect yes |
NAME=CON_NAME | connection.id CON_NAME |
DEVICE=INTERFACE | connection.inetface-name INTERFACE |
하나의 인터페이스에 하나의 연결설정 파일만 활성화 가능
네트워크에 연결된 장치에 대한 고유한 이름
도메인 이름에서 서버에서 제공하는 서비스로 명시하는 것이 좋음
[root@localhost ~]# hostnamectl set-hostname encore.class4
[root@localhost ~]# hostname
encore.class4
hostnamectl 명령을 사용하지 않고 /etc/hostname 파일을 만들어 지정 가능
[root@localhost ~]# cat /etc/hostname localhost.localdomain