[Linux] ifcfg: IP 네트워크 인터페이스 구성(이더넷)
레드헷 계열 리눅스에서 네트워크 구성은 /etc/sysconfig/network-scripts/ifcfg-* 파일에서 설정합니다. ifcfg(interface configuration)는 “이더넷” 장치를 어떻게 네트워크에 연결할지 설정하는 게 ifcfg-* 파일의 목적입니다.
네트워크 인터페이스는 컴퓨터가 네트워크에 연결되는 물리적 또는 가상 장치입니다. 유선(이더넷 카드), 무선(Wi-Fi 어댑터) 등이 이에 해당합니다. 리눅스에서는 eth0, wlan0, enp0s3 등 이름으로 식별하며 고유하게 관리합니다.
네트워크 인터페이스를 통해 데이터가 송수신 되어 인터넷이나 로컬 네트워크 접근이 가능해집니다.
✅ ifcfg 파일: 네트워크 인터페이스 설정
레드헷 계열의 리눅스 설치 후 /etc/sysconfig/network-scripts/ifcfg-[이더넷 장치 이름]은 해당 네트워크 인터페이스의 IP 주소, 넷마스크, 게이트웨이, 부팅 시 자동 활성화 여부 등을 설정합니다.
CentOS 7에서는 enp0s3이 이더넷 장치 이름인 것을 확인할 수 있습니다. ifcfg-enp0s3 파일을 열었을 때의 기본 설정입니다.
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=enp0s3
UUID=3fc4d12e-8776-4682-b20a-e2b7c1c75f2f
DEVICE=enp0s3
ONBOOT=no
🔲 ifcfg-enp0s3 수정
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static # 고정 IP 설정
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=enp0s3
UUID=3fc4d12e-8776-4682-b20a-e2b7c1c75f2f
DEVICE=enp0s3
ONBOOT=yes # 부팅 시 인터페이스 활성화
IPADDR=192.168.45.49 # 고정 IP 주소 추가
NETMASK=255.255.255.0 # 서브넷 마스크 추가
GATEWAY=192.168.45.1 # 기본 게이트웨이 주소 추가
DNS1=8.8.8.8 # DNS 서버 주소 추가 (선택사항)
DNS2=8.8.4.4 # 보조 DNS 서버 주소 추가 (선택사항)
설정 적용 후 재부팅 네트워크 재시작 명령어로 다른 세션에서 터미널 재접속을 하여 바로 확인합니다.
systemctl restart network
✅ 설정 예: 서브넷 마스크 설정
고정 IP와 기본 게이트웨이 주소가 각각 있는데 서브넷마스크를 확인 후 적용해야 하는 경우
321.211.33.241/27
321.211.33.225
321.211.33.241 고정 IP 및 27의 서브넷이 있으며, 게이트웨이 주소는 321.211.33.225로 확인됩니다.
서브넷 마스크를 구하기 위해
32비트 중 상위 27이 네트워크 ID이며, 나머지 5비트는 호스트 ID → 2⁵ = 32개 단위 서브넷으로 나뉩니다.
블록 번호 36126_7c0294-dc> |
IP 범위 36126_8d931c-ce> |
---|---|
1 36126_f30a89-6c> |
0 ~ 31 36126_5c0202-13> |
2 36126_d3d36f-42> |
32 ~ 63 36126_46f856-e0> |
3 |
64 ~ 95 36126_809b28-b8> |
4 36126_e11495-63> |
96 ~ 127 36126_6c0f53-f5> |
5 36126_7d396b-a2> |
128 ~ 159 36126_7c2b4a-36> |
6 36126_49f0a1-ae> |
160 ~ 191 36126_b42653-d4> |
7 36126_6c5a86-ed> |
192 ~ 223 36126_619608-3b> |
8 36126_8a34be-51> |
224 ~ 255 ✅ 36126_5e7361-5f> |
옥텟 기준으로 32개 단위 서브넷으로 IP 범위를 나누고 241은 8번째 블록에 속하게 됩니다.
- IP 범위는 224 ~ 255 (32개 IP)
- 네트워크 주소는 321.211.33.224
- 브로드캐스트 주소는 .255
◻️ 네트워크 주소: 블록의 시작 IP
→ 네트워크 주소는 “이 서브넷은 어디서 시작하는가”를 나타냅니다.
◻️ 브로드캐스트 주소: 블록의 끝 IP
→ 브로드캐스트 주소는 “이 서브넷에 연결된 모든 기기에 메시지를 보낼 때” 쓰입니다.
→ 브로드캐스트 주소는 같은 네트워크(서브넷)에 속한 모든 장비(호스트)에게 동시에 데이터를 전송할 때 사용하는 특수한 IP 주소입니다.
◻️ 호스트 주소: 시작+1 ~ 끝−1
→ 시작 + 1 = 225
→ 끝 − 1 = 254
→ 즉, 225 ~ 254 → 실제 기기들이 사용할 수 있는 IP
서브넷 마스크는 0부터 255 사이 값이 오며, 네트워크 ID는 네트워크 및 브로드캐스트 주소: 라우터가 사용할 수 없는 IP 호스트 ID는 224입니다. 서브넷 마스크는 [255.255.255.224]가 됩니다.
서브넷 마스크까지 설정함으로써, 네트워크 인터페이스 구성(이더넷)이 완료 되었습니다.
321.211.33.241/27
321.211.33.225
NETMASK=255.255.255.224 # 서브넷 마스크
ONBOOT=yes
IPADDR=321.211.33.241
NETMASK=255.255.255.0
GATEWAY=321.211.33.225
DNS1=8.8.8.8
DNS2=8.8.4.4