네트워크의 이해
안녕하세요, mj 입니다. 오늘은 리눅스를 보다 효율적으로 사용하기 위한 네트워크의 주요 요소들에 대해 알아보겠습니다. IP, 라우팅 테이블, MAC 주소, OUI, 호스트명, DNS, 프로토콜 등 다양한 주제를 다룰 예정입니다.
1. IP 주소
IP 주소는 네트워크에서 장치를 식별하는 데 사용되는 고유한 숫자 식별자입니다. IPv4와 IPv6 두 가지 형식이 있으며, IPv4 주소는 일반적으로 4개의 옥텟으로 구성됩니다. 예를 들어:
[root@호스트명 ~]# ifconfig
eth0: flags=4163 mtu 1500
inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
위의 예시에서
inet
항목이 IP 주소입니다. IPv6 주소의 예시는 다음과 같습니다:
[root@호스트명 ~]# ip -6 addr
2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet6 fe80::1a2b:3c4d:5e6f:7g8h/64 scope link
valid_lft forever preferred_lft forever
2. 라우팅 테이블
라우팅 테이블은 데이터 패킷이 네트워크를 통해 이동할 경로를 결정하는 데 사용되는 데이터베이스입니다. 현재 시스템의 라우팅 테이블을 확인하려면 다음 명령어를 사용할 수 있습니다:
[root@호스트명 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
또한,
ip route
명령어로도 라우팅 정보를 확인할 수 있습니다:
[root@호스트명 ~]# ip route
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
3. MAC 주소
MAC 주소는 네트워크 인터페이스 카드(NIC)에 할당된 고유한 식별자로, 물리적 주소라고도 합니다. MAC 주소는 6개의 16진수 숫자로 구성됩니다. MAC 주소를 확인하려면 다음 명령어를 사용합니다:
[root@호스트명 ~]# ifconfig
eth0: flags=4163 mtu 1500
ether 00:1A:2B:3C:4D:5E txqueuelen 1000 (Ethernet)
MAC 주소는 특정 장치에 대한 유일한 식별자로 사용되며, 예를 들어:
[root@호스트명 ~]# arp -a
Address HWaddress
192.168.1.1 00:1A:2B:3C:4D:5E
192.168.1.10 00:1A:2B:3C:4D:5F
4. OUI (Organizationally Unique Identifier)
OUI는 MAC 주소의 처음 세 바이트를 구성하는 고유한 식별자로, 특정 조직에 할당됩니다. OUI를 통해 특정 제조업체의 하드웨어를 식별할 수 있습니다. 예를 들어, OUI가
00:1A:2B
인 경우, 이 주소는 특정 제조업체에 할당된 것입니다. OUI를 확인하려면 다음과 같은 사이트를 사용할 수 있습니다:
- IEEE OUI Lookup: [IEEE OUI Database](http://standards-oui.ieee.org/oui/oui.txt)
5. 호스트명
호스트명은 네트워크에서 장치를 식별하는 데 사용되는 이름입니다. 호스트명을 확인하려면 다음 명령어를 입력합니다:
[root@호스트명 ~]# hostname
my-linux-server
호스트명을 변경하려면 다음과 같이 입력합니다:
[root@호스트명 ~]# hostnamectl set-hostname new-hostname
변경 후 확인하려면 다시
hostname
명령어를 사용합니다:
[root@호스트명 ~]# hostname
new-hostname
6. DNS (Domain Name System)
DNS는 도메인 이름을 IP 주소로 변환하는 시스템입니다. DNS 서버를 확인하려면 다음 명령어를 사용합니다:
[root@호스트명 ~]# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
DNS 서버를 테스트하려면
dig
명령어를 사용할 수 있습니다:
[root@호스트명 ~]# dig example.com
; <<>> DiG 9.10.6 <<>> example.com
;; ANSWER SECTION:
example.com. 86400 IN A 93.184.216.34
7. 프로토콜
네트워크 통신에서 프로토콜은 데이터 전송 규칙을 정의합니다. 주요 프로토콜에는 TCP, UDP, HTTP, FTP 등이 있습니다. 현재 사용 중인 프로토콜을 확인하려면 다음 명령어를 사용할 수 있습니다:
[root@호스트명 ~]# netstat -tuln
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:123 0.0.0.0:*
TCP/IP 프로토콜 스택의 각 계층에 대해 확인하려면
ss
명령어도 사용할 수 있습니다:
[root@호스트명 ~]# ss -tuln
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:123 0.0.0.0:*
리눅스를 잘 사용하기 위해서는 네트워크의 기초를 이해하는 것이 매우 중요합니다. 오늘 알아본 IP 주소, 라우팅 테이블, MAC 주소, OUI, 호스트명, DNS, 프로토콜을 통해 리눅스 네트워크를 보다 효과적으로 관리할 수 있기를 바랍니다. 감사합니다!
댓글
댓글 쓰기