컴퓨터들은 서로 정보나 자원을 교환하기 위해 네트워크에 연결되어 있습니다. 두 대 이상의 컴퓨터는 컴퓨터 네트워크라고 불리는 네트워크 미디어를 통해 연결됩니다. 컴퓨터 네트워크를 형성하기 위해 여러 네트워크 장치나 미디어가 필요합니다.
리눅스 운영 체제를 탑재한 컴퓨터도 다중 작업 및 다중 사용자의 특성으로 인해 작은 또는 큰 네트워크의 일부가 될 수 있습니다. 시스템 및 네트워크를 유지하고 작동 상태로 유지하는 것은 시스템/네트워크 관리자의 업무입니다.
[ 다음 글도 읽어보세요: 시스템 관리자를 위한 22가지 리눅스 네트워킹 명령어 ]
이 글에서는 리눅스에서 자주 사용되는 네트워크 구성 및 문제 해결 명령어를 검토하겠습니다.
1. ifconfig 명령어
ifconfig (인터페이스 구성자) 명령어는 인터페이스를 초기화하고 인터페이스에 IP 주소를 할당하며 필요에 따라 인터페이스를 활성화 또는 비활성화하는 데 사용됩니다.
이 명령을 사용하면 인터페이스에 할당된 IP 주소 및 하드웨어 / MAC 주소를 볼 수 있으며 MTU (최대 전송 단위) 크기도 확인할 수 있습니다.
# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C inet addr:192.168.50.2 Bcast:192.168.50.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6093 errors:0 dropped:0 overruns:0 frame:0 TX packets:4824 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6125302 (5.8 MiB) TX bytes:536966 (524.3 KiB) Interrupt:18 Base address:0x2000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)
ifconfig 명령어는 인터페이스(eth0)와 함께 사용하면 특정 인터페이스 세부 정보를 보여줍니다. 예를 들어 IP 주소, MAC 주소 등이 있습니다. -a
옵션을 사용하면 모든 사용 가능한 인터페이스 세부 정보를 표시합니다. 옵션이 비활성화된 경우에도 표시됩니다.
# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C inet addr:192.168.50.2 Bcast:192.168.50.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6119 errors:0 dropped:0 overruns:0 frame:0 TX packets:4841 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6127464 (5.8 MiB) TX bytes:539648 (527.0 KiB) Interrupt:18 Base address:0x2000
리눅스에서 IP 주소 및 게이트웨이 설정
인터페이스에 IP 주소와 게이트웨이를 동적으로 할당합니다. 시스템 재부팅 시 설정이 제거됩니다.
# ifconfig eth0 192.168.50.5 netmask 255.255.255.0
특정 인터페이스 활성화 또는 비활성화
특정 인터페이스를 활성화하거나 비활성화하려면 다음 예와 같이 명령어를 사용합니다.
eth0 활성화
# ifup eth0
eth0 비활성화
# ifdown eth0
MTU 크기 설정
기본적으로 MTU 크기는 1500입니다. 아래 명령어를 사용하여 필요한 MTU 크기를 설정할 수 있습니다. 크기 대신 XXXX를 대체합니다.
# ifconfig eth0 mtu XXXX
프로미스큐어스 모드에서 인터페이스 설정
네트워크 인터페이스는 해당 NIC에 속한 패킷만 받습니다. 인터페이스를 프로미스큐어스 모드로 설정하면 모든 패킷을 받습니다. 이는 패킷을 캡처하고 나중에 분석하는 데 매우 유용합니다. 이를 위해 슈퍼유저 액세스가 필요할 수 있습니다.
# ifconfig eth0 - promisc
업데이트: 대부분의 최신 리눅스 배포판에서는 ifconfig 명령어가 IP 명령어로 대체되었습니다.
2. 핑 명령어
핑 (패킷 인터넷 그루퍼) 명령은 두 노드 간의 연결성을 테스트하는 최상의 방법입니다. 로컬 에어 네트워크 (LAN) 또는 광대역 네트워크 (WAN)에 관계없이입니다.
핑은 다른 장치에 통신하기 위해 ICMP (인터넷 제어 메시지 프로토콜)을 사용합니다. 아래 명령을 사용하여 호스트 이름 또는 IP 주소를 핑할 수 있습니다.
# ping 4.2.2.2 PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data. 64 bytes from 4.2.2.2: icmp_seq=1 ttl=44 time=203 ms 64 bytes from 4.2.2.2: icmp_seq=2 ttl=44 time=201 ms 64 bytes from 4.2.2.2: icmp_seq=3 ttl=44 time=201 ms OR # ping www.tecmint.com PING tecmint.com (50.116.66.136) 56(84) bytes of data. 64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=284 ms 64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=287 ms 64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms
리눅스 ping 명령은 터미널에서 실행되어 N 개의 요청 (성공 또는 오류 응답) 후 종료됩니다. -c 옵션을 사용하여 핑합니다.
# ping -c 5 www.tecmint.com PING tecmint.com (50.116.66.136) 56(84) bytes of data. 64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=285 ms 64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=285 ms 64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms 64 bytes from 50.116.66.136: icmp_seq=4 ttl=47 time=285 ms 64 bytes from 50.116.66.136: icmp_seq=5 ttl=47 time=285 ms --- tecmint.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4295ms rtt min/avg/max/mdev = 285.062/285.324/285.406/0.599 ms
3. Traceroute 명령
traceroute는 목적지에 도달하는 데 걸리는 홉 수를 보여주며 패킷이 이동하는 경로를 결정하는 네트워크 문제 해결 도구입니다. 아래에서는 글로벌 DNS 서버 IP 주소로의 경로를 추적하고 목적지에 도달할 수 있으며 해당 패킷의 경로를 표시합니다.
# traceroute 4.2.2.2 traceroute to 4.2.2.2 (4.2.2.2), 30 hops max, 60 byte packets 1 192.168.50.1 (192.168.50.1) 0.217 ms 0.624 ms 0.133 ms 2 227.18.106.27.mysipl.com (27.106.18.227) 2.343 ms 1.910 ms 1.799 ms 3 221-231-119-111.mysipl.com (111.119.231.221) 4.334 ms 4.001 ms 5.619 ms 4 10.0.0.5 (10.0.0.5) 5.386 ms 6.490 ms 6.224 ms 5 gi0-0-0.dgw1.bom2.pacific.net.in (203.123.129.25) 7.798 ms 7.614 ms 7.378 ms 6 115.113.165.49.static-mumbai.vsnl.net.in (115.113.165.49) 10.852 ms 5.389 ms 4.322 ms 7 ix-0-100.tcore1.MLV-Mumbai.as6453.net (180.87.38.5) 5.836 ms 5.590 ms 5.503 ms 8 if-9-5.tcore1.WYN-Marseille.as6453.net (80.231.217.17) 216.909 ms 198.864 ms 201.737 ms 9 if-2-2.tcore2.WYN-Marseille.as6453.net (80.231.217.2) 203.305 ms 203.141 ms 202.888 ms 10 if-5-2.tcore1.WV6-Madrid.as6453.net (80.231.200.6) 200.552 ms 202.463 ms 202.222 ms 11 if-8-2.tcore2.SV8-Highbridge.as6453.net (80.231.91.26) 205.446 ms 215.885 ms 202.867 ms 12 if-2-2.tcore1.SV8-Highbridge.as6453.net (80.231.139.2) 202.675 ms 201.540 ms 203.972 ms 13 if-6-2.tcore1.NJY-Newark.as6453.net (80.231.138.18) 203.732 ms 203.496 ms 202.951 ms 14 if-2-2.tcore2.NJY-Newark.as6453.net (66.198.70.2) 203.858 ms 203.373 ms 203.208 ms 15 66.198.111.26 (66.198.111.26) 201.093 ms 63.243.128.25 (63.243.128.25) 206.597 ms 66.198.111.26 (66.198.111.26) 204.178 ms 16 ae9.edge1.NewYork.Level3.net (4.68.62.185) 205.960 ms 205.740 ms 205.487 ms 17 vlan51.ebr1.NewYork2.Level3.net (4.69.138.222) 203.867 ms vlan52.ebr2.NewYork2.Level3.net (4.69.138.254) 202.850 ms vlan51.ebr1.NewYork2.Level3.net (4.69.138.222) 202.351 ms 18 ae-6-6.ebr2.NewYork1.Level3.net (4.69.141.21) 201.771 ms 201.185 ms 201.120 ms 19 ae-81-81.csw3.NewYork1.Level3.net (4.69.134.74) 202.407 ms 201.479 ms ae-92-92.csw4.NewYork1.Level3.net (4.69.148.46) 208.145 ms 20 ae-2-70.edge2.NewYork1.Level3.net (4.69.155.80) 200.572 ms ae-4-90.edge2.NewYork1.Level3.net (4.69.155.208) 200.402 ms ae-1-60.edge2.NewYork1.Level3.net (4.69.155.16) 203.573 ms 21 b.resolvers.Level3.net (4.2.2.2) 199.725 ms 199.190 ms 202.488 ms
4. Netstat 명령
Netstat (네트워크 통계) 명령은 연결 정보, 라우팅 테이블 정보 등을 표시합니다. 라우팅 테이블 정보를 표시하려면 다음과 같은 옵션을 사용하십시오. -r
.
# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.50.0 * 255.255.255.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 0 0 0 eth0 default 192.168.50.1 0.0.0.0 UG 0 0 0 eth0
Netstat Command에 대한 더 많은 예제는 리눅스에서 20개의 Netstat 명령어 예제 기사를 읽어보십시오.
업데이트: 대부분의 최신 리눅스 배포판에서 netstat 명령어는 ss (소켓 통계) 명령어로 대체되었습니다.
5. Dig 명령어
Dig (도메인 정보 그루퍼)는 A
레코드, CNAME, MX 레코드 등과 같은 DNS 관련 정보를 쿼리합니다. 이 명령은 주로 DNS 관련 쿼리를 해결하기 위해 사용됩니다.
# dig www.tecmint.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> www.tecmint.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<
Dig 명령어에 대한 더 많은 예제는 리눅스에서 DNS 쿼리를 위한 10가지 Dig 명령어 기사를 읽어보십시오.
6. Nslookup 명령어
nslookup 명령어는 또한 DNS 관련 쿼리를 찾기 위해 사용됩니다. 다음 예제는 tecmint.com의 A
레코드 (IP 주소)를 보여줍니다.
# nslookup www.tecmint.com Server: 4.2.2.2 Address: 4.2.2.2#53 Non-authoritative answer: www.tecmint.com canonical name = tecmint.com. Name: tecmint.com Address: 50.116.66.136
Nslookup 명령어에 대한 자세한 내용은 리눅스 Nslookup 명령어 예제 8가지 기사를 읽어보십시오.
7. Route 명령어
route 명령은 또한 IP 라우팅 테이블을 표시하고 조작합니다. Linux에서 기본 라우팅 테이블을 보려면 다음 명령을 입력하십시오.
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.50.0 * 255.255.255.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 1002 0 0 eth0 default 192.168.50.1 0.0.0.0 UG 0 0 0 eth0
다음 명령을 사용하여 경로를 추가, 삭제하고 기본 게이트웨이를 추가할 수 있습니다.
Linux에서 경로 추가
# route add -net 10.10.10.0/24 gw 192.168.0.1
Linux에서 경로 삭제
# route del -net 10.10.10.0/24 gw 192.168.0.1
Linux에서 기본 게이트웨이 추가
# route add default gw 192.168.0.1
8. 호스트 명령
host 명령은 IP 이름을 찾거나 IP 이름을 찾는 데 사용됩니다. 또한 IPv4 또는 IPv6에서 DNS 레코드를 조회할 수 있습니다.
# host www.google.com www.google.com has address 173.194.38.180 www.google.com has address 173.194.38.176 www.google.com has address 173.194.38.177 www.google.com has address 173.194.38.178 www.google.com has address 173.194.38.179 www.google.com has IPv6 address 2404:6800:4003:802::1014
-t
옵션을 사용하여 CNAME, NS, MX, SOA 등의 DNS 리소스 레코드를 확인할 수 있습니다.
# host -t CNAME www.redhat.com www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.
9. ARP 명령
ARP (주소 해결 프로토콜)은 커널의 ARP 테이블 내용을 볼 수 있고 추가할 수 있습니다. 기본 테이블을 보려면 다음 명령을 사용하십시오.
# arp -e Address HWtype HWaddress Flags Mask Iface 192.168.50.1 ether 00:50:56:c0:00:08 C eth0
10. Ethtool 명령
ethtool은 mii-tool의 대체품입니다. 네트워크 인터페이스 카드(NIC)의 속도와 이중화를 보고 설정하는 데 사용됩니다. 이중화를 /etc/sysconfig/network-scripts/ifcfg-eth0에서 영구적으로 설정할 수 있습니다. ETHTOOL_OPTS 변수를 사용하여 설정할 수 있습니다.
# ethtool eth0 Settings for eth0: Current message level: 0x00000007 (7) Link detected: yes
11. Iwconfig 명령
iwconfig 명령어는 Linux에서 무선 네트워크 인터페이스를 구성하는 데 사용됩니다. Wi-Fi의 기본적인 세부 정보인 SSID 채널 및 암호화를 볼 수 있습니다. 더 많은 정보를 알고 싶다면 iwconfig의 맨 페이지를 참조하십시오.
# iwconfig [interface]
12. 호스트명 명령어
호스트명은 네트워크에서 식별하는 것입니다. hostname 명령을 실행하여 상자의 호스트명을 확인할 수 있습니다. 적절한 호스트명을 설정한 후에는 상자를 다시 부팅해야 합니다. 호스트명은 /etc/sysconfig/network에서 영구적으로 설정할 수 있습니다.
# hostname tecmint.com
13. Nmcli와 Nmtui 도구
Nmcli 및 Nmtui 도구는 Linux 시스템에서 네트워크 설정을 구성하고 네트워크 장치를 관리하는 데 사용됩니다. 네트워크 연결을 생성, 수정, 활성화/비활성화 및 삭제할 수 있습니다.
# nmcli # nmtui

이 문서는 Linux 네트워크 관리자들의 일상적인 사용에 유용할 수 있습니다. 만약 놓친 것이 있다면 댓글 상자를 통해 공유해주시기 바랍니다.
Source:
https://www.tecmint.com/linux-network-configuration-and-troubleshooting-commands/