컴퓨터/Linux

Linux (5) - 커맨드를 이용하여 인터넷을 세팅하자 (ifconfig)

달서비 2023. 12. 14. 23:58

최근에 프로젝트를 하다가 CLI 환경에서 이더넷을 세팅하는 일이 있었습니다. 이번에는 해당 방법에 대하여 알아보도록 하겠습니다. 모든 네트워크 정보를 수정하고 다루기 위해서는 /etc/network/interfaces를 다루면 되지만 이번에는 ifconfig 명령어로 할 수 있는 것을 정리해 보았습니다.

 

네트워크 인터페이스 확인하기

ifconfig         # 활성화된 네트워크 인터페이스 확인
ifconfig –a      # 비활성화된 네트워크 인터페이스까지 확인
ifconfig eth0    # eth0의 네트워크 인터페이스 확인

해당 명령어는 네트워크 인터페이스에 있는 목록을 확인하는 명령어입니다.

ifconfig를 입력한 뒤 출력문

일부 값을 가린 이유는 IP 등의 정보가 유출될 수 있기 때문에 임의로 가렸습니다. 또한 해당 명령어를 통해 출력되는 각각의 인자는 다음과 같습니다. (eth0)

  • eth0 : 네트워크 인터페이스
  • flags : 네트워크 인터페이스의 상태 표시
  • mtu : 해당 프로토콜이 레이어에서 전송할 수 있는 최대 전송 단위 (Maximum Transfer Unit)
  • inet : IPv4 주소
  • netmask : subnet mask 주소
  • broadcast : broadcast 요청을 날리는 주소
  • inet6 : IPv6 주소
  • prefixlen :  IP 주소 중 subnet mask 로 사용되는 비트 수
  • scopeid :  IPv6 범위. LOOPBACK / LINKLOCAL / SITELOCAL / COMPATv4 / GLOBAL
  • ether : MAC 주소
  • RX packets : 네트워크 인터페이스에 받은 패킷 수
  • TX packets :  네트워크 인터페이스에 보낸 패킷 수
  • dropped : 버려진 패킷의 수
  • overruns : overflow가 나서 추가하지 못한 패킷의 수
  • frame : 프레임 구조에 맞지 않은 패킷의 수 (프레임의 구조가 맞지 않 경우 패킷을 버린다.)
  • carrier : 신호 진폭에 오류가 있는 패킷의 수
  • collision : 충돌된 패킷의 수

 

인터페이스의 전원을 on/off 

ifconfig eth0 up    #활성화
ifconfig eth0 down  #비활성화

대상이 되는 인터페이스의 전원을 on/off 하는 명령어는 다음과 같습니다. 저는 임의의 대상을 eth0을 기준으로 작성하였습니다.

eth0을 활성화, 비활성화한 뒤 출력문

해당 명령어를 통해 네트워크 인터페이스를 활성화 비활성화할 수 있으며 네트워크의 사용 여부를 통제할 수 있습니다.

 

네트워크 정보 변경하기

ifconfig eth0 192.168.1.88
# IP Address : 192.168.1.88

ifconfig eth0 192.168.1.88 netmask 255.255.255.0 up
# IP Adress : 192.168.1.88 
# Subnet Netmask : 255.255.255.0
# eth0 활성화

ifconfig eth0 192.168.1.88 netmask 255.255.255.0 broadcast 192.168.1.255 up
# IP Address : 192.168.1.88
# Subnet Netmask : 255.255.255.0
# Network Address : 192.168.1.0
# Broadcast Address : 192.168.1.255
# eth0 활성화

네트워크값 변경 후 출력문

추가로 해당 방법은 네트워크 인터페이스를 변경하기 때문에 영구히 적용하는 방식이 아닙니다. 서버를 재부팅 하는 경우에는 휘발성이라 증발하게 됩니다. 그런경우  /etc/network/interfaces에 있는 값을 바꾸면 됩니다.

sudo nano /etc/network/interfaces

#nano안에 작성하는 텍스트내용
auto eth0
iface eth0 inet static
	address 192.168.1.88
	netmask 255.255.255.0
	broadcast 192.168.1.255
	gateway 192.168.1.1
	network 192.168.1.0
	dns-nameservers 8.8.8.8
# dns-nameservers 8.8.8.8 - 구글 네임 서버

# 설정후 재부팅
sudo systemctl restart networking.service
sudo reboot now

리눅스의 버전마다 기계마다 다르기 때문에 적용이 될 수도 있고 안될 수도 있습니다. 참고 바랍니다.