CentOS 7 리눅스를 예시로 네트워크 설정 (IP관련)을 변경한다.
1. 네트워크 인터페이스 정보 확인
– ip addr 명령을 입력한다.
[HOSTNAME:/root]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 32:1d:58:2b:56:ef brd ff:ff:ff:ff:ff:ff inet 192.168.103.253/24 brd 192.168.103.255 scope global eth0 valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 6e:de:37:60:f8:1b brd ff:ff:ff:ff:ff:ff 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:ec:5a:ab brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000 link/ether 52:54:00:ec:5a:ab brd ff:ff:ff:ff:ff:ff
– 또는 ifconfig 명령을 이용한다.
[HOSTNAME:/root]# ifconfig -a eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.103.253 netmask 255.255.255.0 broadcast 192.168.103.255 ether 32:1d:58:2b:56:ef txqueuelen 1000 (Ethernet) RX packets 2882429 bytes 1896744621 (1.7 GiB) RX errors 0 dropped 50585 overruns 0 frame 0 TX packets 694551 bytes 1768919562 (1.6 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth1: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 6e:de:37:60:f8:1b txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 406 bytes 32755 (31.9 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 406 bytes 32755 (31.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:ec:5a:ab txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 52:54:00:ec:5a:ab txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2. 설정 변경
– 예제에서는 eth0의 설정을 변경할 것이다.
※ 인터페이스의 이름은 시스템마다 다를 수 있다.
[HOSTNAME:/root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static #static : 고정 IP를 사용할 경우 #dhcp : hdcp 서버가 있고 자동 설정을 할 경우. NAME=eth0 DEVICE=eth0 ONBOOT=yes #이 값을 yes로 바꿔야 시스템이 시작될 때 인터페이스가 활성화 된다. #일반적으로 여기까지는 자동으로 생성되며 값만 변경한다. #dhcp를 사용할 경우 아래 값은 필요 없다. IPADDR=192.168.103.123 #사용할 IP 주소. NETMASK=255.255.255.0 #subnet mask. #PREFIX=24 처럼 prefix로 대체할 수 있다. GATEWAY=192.168.103.1 #Gateway.
3. 활성화
[HOSTNAME:/root]# service network restart # [HOSTNAME:/root]# service network stop # [HOSTNAME:/root]# service network start # 정지 후 시작을 할 수 있지만 현재 연결 된 인터페이스일 경우 stop 이후 접속할 수 없다. # CentOS 6 이하의 명령어. [HOSTNAME:/root]# systemctl restart network.service # CentOS7 이후. # service network restart 형식으로 수행해도 리디렉션 된다.
4. 확인
[HOSTNAME:/root]# ping 192.168.103.1 PING 192.168.103.1 (192.168.103.1) 56(84) bytes of data. 64 bytes from 192.168.103.1: icmp_seq=1 ttl=117 time=33.2 ms 64 bytes from 192.168.103.1: icmp_seq=1 ttl=117 time=33.1 ms --- 192.168.103.1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 33.207/33.248/33.289/0.041 ms # 이 시도가 성공 했을 경우 gateway 까지 연결이 정상이라고 생각해도 된다. # 단 gateway에서 ICMP를 허용하지 않을 경우 응답이 없을 수 있다. [HOSTNAME:/root]# ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=33.2 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=33.2 ms --- 8.8.8.8 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 33.207/33.248/33.289/0.041 ms # 8.8.8.8은 google의 DNS이다. # 이 시도가 성공 했다면 네트워크 설정에는 문제가 없다고 여겨도 된다.
CentOS8의 경우 network.service를 사용할 수 없다.
NetworkManager 서비스를 이용하자.
[HOSTNAME:/root]# systemctl restart NetworkManager.service