एक लिनक्स Sysadmin नेटवर्क प्रबंधन, समस्या निवारण और डिबगिंग के लिए गाइड


सिस्टम प्रशासक के नियमित कार्यों में डेटा केंद्रों के भीतर सर्वर और नेटवर्क को कॉन्फ़िगर करना, रखरखाव, समस्या निवारण और प्रबंधन करना शामिल है। लिनक्स में कई उपकरण और उपयोगिताओं हैं जिन्हें प्रशासनिक उद्देश्यों के लिए डिज़ाइन किया गया है।

इस लेख में, हम विभिन्न श्रेणियों के तहत लिनक्स में नेटवर्क प्रबंधन के लिए सबसे अधिक उपयोग किए जाने वाले कुछ कमांड-लाइन टूल और उपयोगिताओं की समीक्षा करेंगे। हम कुछ सामान्य उपयोग उदाहरणों की व्याख्या करेंगे, जो लिनक्स में नेटवर्क प्रबंधन को बहुत आसान बना देगा।

यह सूची पूर्णकालिक नेटवर्क इंजीनियरों के लिए समान रूप से उपयोगी है।

नेटवर्क कॉन्फ़िगरेशन, समस्या निवारण और डीबगिंग उपकरण

ifconfig नेटवर्क इंटरफ़ेस कॉन्फ़िगरेशन के लिए एक कमांड लाइन इंटरफ़ेस टूल है और सिस्टम बूट समय पर इंटरफेस को इनिशियलाइज़ करने के लिए भी उपयोग किया जाता है। एक बार जब कोई सर्वर उठता है और चल रहा होता है, तो इसका उपयोग किसी इंटरफ़ेस को IP पता असाइन करने और मांग पर इंटरफ़ेस को सक्षम या अक्षम करने के लिए किया जा सकता है।

इसका उपयोग वर्तमान आईपी इंटरफेस, हार्डवेयर/मैक पते, साथ ही वर्तमान में सक्रिय इंटरफेस के एमटीयू (अधिकतम ट्रांसमिशन यूनिट) के आकार को देखने के लिए भी किया जाता है। ifconfig इस प्रकार डिबगिंग या सिस्टम ट्यूनिंग करने के लिए उपयोगी है।

यहां सभी सक्रिय नेटवर्क इंटरफेस की स्थिति प्रदर्शित करने के लिए एक उदाहरण है।

$ ifconfig

enp1s0    Link encap:Ethernet  HWaddr 28:d2:44:eb:bd:98  
          inet addr:192.168.0.103  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::8f0c:7825:8057:5eec/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:169854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:125995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:174146270 (174.1 MB)  TX bytes:21062129 (21.0 MB)

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:65536  Metric:1
          RX packets:15793 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:2898946 (2.8 MB)  TX bytes:2898946 (2.8 MB)

वर्तमान में उपलब्ध सभी इंटरफेस को सूचीबद्ध करने के लिए, अप या डाउन है, <कोड> -ए ध्वज का उपयोग करें।

$ ifconfig -a 	

किसी इंटरफ़ेस को IP पता असाइन करने के लिए, निम्न कमांड का उपयोग करें।

$ sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0

नेटवर्क इंटरफ़ेस सक्रिय करने के लिए, टाइप करें।

$ sudo ifconfig up eth0

नेटवर्क इंटरफ़ेस को निष्क्रिय या बंद करने के लिए, टाइप करें।

$ sudo ifconfig down eth0

लाल

आईपीकमांड रूटिंग, नेटवर्क डिवाइस, इंटरफेस को प्रदर्शित करने और हेरफेर करने के लिए एक और उपयोगी कमांड लाइन उपयोगिता है। यह ifconfig और कई अन्य नेटवर्किंग कमांड के लिए एक प्रतिस्थापन है। (इसके बारे में अधिक जानने के लिए हमारा लेख "ifconfig और ip कमांड के बीच क्या अंतर है" पढ़ें।)

निम्नलिखित कमांड आईपी पते और नेटवर्क इंटरफ़ेस के बारे में अन्य जानकारी दिखाएगा।

$ ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    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
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 28:d2:44:eb:bd:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.103/24 brd 192.168.0.255 scope global dynamic enp1s0
       valid_lft 5772sec preferred_lft 5772sec
    inet6 fe80::8f0c:7825:8057:5eec/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 38:b1:db:7c:78:c7 brd ff:ff:ff:ff:ff:ff
...

किसी विशिष्ट नेटवर्क इंटरफ़ेस ( eth0 ) के लिए अस्थायी रूप से IP पता असाइन करने के लिए, टाइप करें।

$ sudo ip addr add 192.168.56.1 dev eth0

नेटवर्क इंटरफ़ेस ( eth0 ) से असाइन किया गया IP पता निकालने के लिए, टाइप करें।

$ sudo ip addr del 192.168.56.15/24 dev eth0

वर्तमान पड़ोसी तालिका को कर्नेल में दिखाने के लिए, टाइप करें।

$ ip neigh

192.168.0.1 dev enp1s0 lladdr 10:fe:ed:3d:f3:82 REACHABLE

ifup कमांड एक नेटवर्क इंटरफ़ेस को सक्रिय करता है, जिससे यह डेटा को स्थानांतरित करने और प्राप्त करने के लिए उपलब्ध होता है।

$ sudo ifup eth0

ifdown कमांड नेटवर्क इंटरफ़ेस को निष्क्रिय करता है, इसे ऐसी स्थिति में रखता है जहां यह डेटा स्थानांतरित या प्राप्त नहीं कर सकता है।

$ sudo ifdown eth0

ifquery कमांड का उपयोग नेटवर्क इंटरफ़ेस कॉन्फ़िगरेशन को पार्स करने के लिए किया जाता है, जिससे आप क्वेरी के बारे में उत्तर प्राप्त कर सकते हैं कि यह वर्तमान में कैसे कॉन्फ़िगर किया गया है।

$ sudo ifquery eth0

ethtool नेटवर्क इंटरफ़ेस नियंत्रक मापदंडों और डिवाइस ड्राइवरों को क्वेरी और संशोधित करने के लिए एक कमांड लाइन उपयोगिता है। नीचे दिया गया उदाहरण एथलूल का उपयोग और नेटवर्क इंटरफ़ेस के मापदंडों को देखने के लिए एक कमांड दिखाता है।

$ sudo ethtool enp0s3

Settings for enp0s3:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 0
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: off (auto)
	Supports Wake-on: umbg
	Wake-on: d
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes

पिंग ( पैकेट इन्टरनेट ग्रॉपर ) सामान्य रूप से नेटवर्क पर दो प्रणालियों के बीच कनेक्टिविटी के परीक्षण के लिए उपयोग की जाने वाली एक उपयोगिता है ( लोकल एरिया नेटवर्क ( LAN ) या वाइड एरिया नेटवर्क ( WAN ))। यह नेटवर्क पर नोड्स से संवाद करने के लिए ICMP ( इंटरनेट कंट्रोल मैसेज प्रोटोकॉल ) का उपयोग करता है।

किसी अन्य नोड से कनेक्टिविटी का परीक्षण करने के लिए, उदाहरण के लिए, इसका आईपी या होस्ट नाम प्रदान करें।

$ ping 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=0.191 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.156 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.179 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.182 ms
64 bytes from 192.168.0.103: icmp_seq=5 ttl=64 time=0.207 ms
64 bytes from 192.168.0.103: icmp_seq=6 ttl=64 time=0.157 ms
^C
--- 192.168.0.103 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5099ms
rtt min/avg/max/mdev = 0.156/0.178/0.207/0.023 ms

जैसा कि दिखाया गया है, आप ECHO_REQUEST पैकेट का उपयोग करके ECHO_REQUEST पैकेट के बाद बाहर निकलने के लिए पिंग भी बता सकते हैं।

$ ping -c 4 192.168.0.103

PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=1.09 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.157 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.163 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.190 ms

--- 192.168.0.103 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3029ms
rtt min/avg/max/mdev = 0.157/0.402/1.098/0.402 ms

Traceroute आपके स्थानीय सिस्टम से दूसरे नेटवर्क सिस्टम के लिए पूर्ण पथ का पता लगाने के लिए एक कमांड लाइन उपयोगिता है। यह उस रास्ते में हॉप्स (राउटर आईपी) की संख्या को प्रिंट करता है जो आप अंतिम सर्वर तक पहुंचने के लिए यात्रा करते हैं। यह पिंग कमांड के बाद उपयोग में आसान नेटवर्क समस्या निवारण उपयोगिता है।

इस उदाहरण में, हम स्थानीय सिस्टम से Google के एक सर्वर से IP पते 216.58.204.46 के रूट पैकेट ले जा रहे हैं।

$ traceroute 216.58.204.46

traceroute to 216.58.204.46 (216.58.204.46), 30 hops max, 60 byte packets
 1  gateway (192.168.0.1)  0.487 ms  0.277 ms  0.269 ms
 2  5.5.5.215 (5.5.5.215)  1.846 ms  1.631 ms  1.553 ms
 3  * * *
 4  72.14.194.226 (72.14.194.226)  3.762 ms  3.683 ms  3.577 ms
 5  108.170.248.179 (108.170.248.179)  4.666 ms 108.170.248.162 (108.170.248.162)  4.869 ms 108.170.248.194 (108.170.248.194)  4.245 ms
 6  72.14.235.133 (72.14.235.133)  72.443 ms 209.85.241.175 (209.85.241.175)  62.738 ms 72.14.235.133 (72.14.235.133)  65.809 ms
 7  66.249.94.140 (66.249.94.140)  128.726 ms  127.506 ms 209.85.248.5 (209.85.248.5)  127.330 ms
 8  74.125.251.181 (74.125.251.181)  127.219 ms 108.170.236.124 (108.170.236.124)  212.544 ms 74.125.251.181 (74.125.251.181)  127.249 ms
 9  216.239.49.134 (216.239.49.134)  236.906 ms 209.85.242.80 (209.85.242.80)  254.810 ms  254.735 ms
10  209.85.251.138 (209.85.251.138)  252.002 ms 216.239.43.227 (216.239.43.227)  251.975 ms 209.85.242.80 (209.85.242.80)  236.343 ms
11  216.239.43.227 (216.239.43.227)  251.452 ms 72.14.234.8 (72.14.234.8)  279.650 ms  277.492 ms
12  209.85.250.9 (209.85.250.9)  274.521 ms  274.450 ms 209.85.253.249 (209.85.253.249)  270.558 ms
13  209.85.250.9 (209.85.250.9)  269.147 ms 209.85.254.244 (209.85.254.244)  347.046 ms 209.85.250.9 (209.85.250.9)  285.265 ms
14  64.233.175.112 (64.233.175.112)  344.852 ms 216.239.57.236 (216.239.57.236)  343.786 ms 64.233.175.112 (64.233.175.112)  345.273 ms
15  108.170.246.129 (108.170.246.129)  345.054 ms  345.342 ms 64.233.175.112 (64.233.175.112)  343.706 ms
16  108.170.238.119 (108.170.238.119)  345.610 ms 108.170.246.161 (108.170.246.161)  344.726 ms 108.170.238.117 (108.170.238.117)  345.536 ms
17  lhr25s12-in-f46.1e100.net (216.58.204.46)  345.382 ms  345.031 ms  344.884 ms

MTR एक आधुनिक कमांड-लाइन नेटवर्क डायग्नोस्टिक टूल है, जो एक डायग्नोस्टिक टूल में पिंग और ट्रैसरूट की कार्यक्षमता को जोड़ता है। इसका आउटपुट वास्तविक समय में डिफ़ॉल्ट रूप से अपडेट किया जाता है, जब तक कि आप प्रोग्राम को q दबाकर बाहर नहीं निकल जाते।

चलने का सबसे आसान तरीका mtr यह एक मेजबान का नाम या आईपी पते को एक तर्क के रूप में प्रदान करना है, निम्नानुसार है।

$ mtr google.com
OR
$ mtr 216.58.223.78
linux-console.net (0.0.0.0)                                   Thu Jul 12 08:58:27 2018
First TTL: 1

 Host                                                   Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.1                                         0.0%    41    0.5   0.6   0.4   1.7   0.2
 2. 5.5.5.215                                           0.0%    40    1.9   1.5   0.8   7.3   1.0
 3. 209.snat-111-91-120.hns.net.in                      23.1%    40    1.9   2.7   1.7  10.5   1.6
 4. 72.14.194.226                                       0.0%    40   89.1   5.2   2.2  89.1  13.7
 5. 108.170.248.193                                     0.0%    40    3.0   4.1   2.4  52.4   7.8
 6. 108.170.237.43                                      0.0%    40    2.9   5.3   2.5  94.1  14.4
 7. bom07s10-in-f174.1e100.net                          0.0%    40    2.6   6.7   2.3  79.7  16.

आप पिंग्स की संख्या को एक विशिष्ट मूल्य तक सीमित कर सकते हैं और उन पिंग के बाद mtr से बाहर निकलें, जैसा कि दिखाया गया है -c ध्वज का उपयोग करके।

$ mtr -c 4 google.com

मार्ग लिनक्स सिस्टम के आईपी मार्ग तालिका को प्रदर्शित करने या हेरफेर करने के लिए एक कमांड लाइन उपयोगिता है। यह मुख्य रूप से एक इंटरफेस के माध्यम से विशिष्ट होस्ट या नेटवर्क के लिए स्थिर मार्गों को कॉन्फ़िगर करने के लिए उपयोग किया जाता है।

आप कर्नेल आईपी राउटिंग टेबल को टाइप करके देख सकते हैं।

$ route

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

राउटिंग को कॉन्फ़िगर करने के लिए कई कमांड का उपयोग कर सकते हैं। यहाँ कुछ उपयोगी हैं:

रूटिंग टेबल में एक डिफ़ॉल्ट गेटवे जोड़ें।

$ sudo route add default gw <gateway-ip>

रूटिंग टेबल में एक नेटवर्क रूट जोड़ें।

$ sudo route add -net <network ip/cidr> gw <gateway ip> <interface>

रूटिंग टेबल से एक विशिष्ट मार्ग प्रविष्टि हटाएं।

$ sudo route del -net <network ip/cidr>

Nmcli नेटवर्क स्टेटस की रिपोर्ट करने, नेटवर्क कनेक्शन प्रबंधित करने और NetworkManager को नियंत्रित करने के लिए उपयोग में आसान, स्क्रिप्ट योग्य कमांड-लाइन टूल है।

अपने सभी नेटवर्क उपकरणों को देखने के लिए, टाइप करें।

$ nmcli dev status

DEVICE      TYPE      STATE      CONNECTION         
virbr0      bridge    connected  virbr0             
enp0s3      ethernet  connected  Wired connection 1 

अपने सिस्टम पर नेटवर्क कनेक्शन की जाँच करने के लिए, टाइप करें।

$ nmcli con show

Wired connection 1  bc3638ff-205a-3bbb-8845-5a4b0f7eef91  802-3-ethernet  enp0s3 
virbr0              00f5d53e-fd51-41d3-b069-bdfd2dde062b  bridge          virbr0 

केवल सक्रिय कनेक्शन देखने के लिए, -a ध्वज जोड़ें।

$ nmcli con show -a

नेटवर्क स्कैनिंग और प्रदर्शन विश्लेषण उपकरण

netstat एक कमांड लाइन टूल है, जो लिनक्स नेटवर्किंग सबसिस्टम के विषय में नेटवर्क कनेक्शन, राउटिंग टेबल, इंटरफेस स्टैटिस्टिक्स और भी बहुत कुछ उपयोगी जानकारी प्रदर्शित करता है। यह नेटवर्क समस्या निवारण और प्रदर्शन विश्लेषण के लिए उपयोगी है।

इसके अतिरिक्त, यह एक मूलभूत नेटवर्क सेवा डिबगिंग टूल है जिसका उपयोग यह जांचने के लिए किया जाता है कि कौन से प्रोग्राम किस पोर्ट पर सुन रहे हैं। उदाहरण के लिए, निम्न कमांड सुनने के मोड में सभी टीसीपी पोर्ट दिखाएगा और उन पर कौन से प्रोग्राम सुन रहा है।

$ sudo netstat -tnlp

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 127.0.0.1:5003          0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:465             0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      1404/pdns_server    
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1064/pure-ftpd (SER 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      972/sshd            
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      975/cupsd           
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      1257/master         
tcp        0      0 0.0.0.0:8090            0.0.0.0:*               LISTEN      636/lscpd (lscpd -  
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1015/dovecot        
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN      1015/dovecot        
tcp6       0      0 :::3306                 :::*                    LISTEN      1053/mysqld         
tcp6       0      0 :::3307                 :::*                    LISTEN      1211/mysqld         
tcp6       0      0 :::587                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::110                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::143                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      990/httpd           
tcp6       0      0 :::465                  :::*                    LISTEN      1257/master         
tcp6       0      0 :::53                   :::*                    LISTEN      1404/pdns_server    
tcp6       0      0 :::21                   :::*                    LISTEN      1064/pure-ftpd (SER 
tcp6       0      0 :::22                   :::*                    LISTEN      972/sshd            
tcp6       0      0 ::1:631                 :::*                    LISTEN      975/cupsd           
tcp6       0      0 :::25                   :::*                    LISTEN      1257/master         
tcp6       0      0 :::993                  :::*                    LISTEN      1015/dovecot        
tcp6       0      0 :::995                  :::*                    LISTEN      1015/dovecot        

कर्नेल राउटिंग टेबल देखने के लिए, -r ध्वज का उपयोग करें (जो मार्ग ऊपर कमांड चलाने के बराबर है)।

$ netstat -r

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

लाल

ss ( सॉकेट आँकड़े ) सॉकेट्स की जांच करने के लिए एक शक्तिशाली कमांड लाइन उपयोगिता है। यह सॉकेट सांख्यिकी को डंप करता है और netstat के समान जानकारी प्रदर्शित करता है। इसके अलावा, यह अन्य समान उपयोगिताओं की तुलना में अधिक टीसीपी और राज्य की जानकारी दिखाता है।

निम्न उदाहरण दिखाता है कि सभी टीसीपी बंदरगाहों ( सॉकेट्स ) को कैसे सूचीबद्ध किया जाए जो एक सर्वर पर खुले हैं।

$ ss -ta

State      Recv-Q Send-Q                                        Local Address:Port                                                         Peer Address:Port                
LISTEN     0      100                                                       *:submission                                                              *:*                    
LISTEN     0      128                                               127.0.0.1:fmpro-internal                                                          *:*                    
LISTEN     0      100                                                       *:pop3                                                                    *:*                    
LISTEN     0      100                                                       *:imap                                                                    *:*                    
LISTEN     0      128                                                       *:sunrpc                                                                  *:*                    
LISTEN     0      100                                                       *:urd                                                                     *:*                    
LISTEN     0      128                                                       *:domain                                                                  *:*                    
LISTEN     0      9                                                         *:ftp                                                                     *:*                    
LISTEN     0      128                                                       *:ssh                                                                     *:*                    
LISTEN     0      128                                               127.0.0.1:ipp                                                                     *:*                    
LISTEN     0      100                                                       *:smtp                                                                    *:*                    
LISTEN     0      128                                                       *:8090                                                                    *:*                    
LISTEN     0      100                                                       *:imaps                                                                   *:*                    
LISTEN     0      100                                                       *:pop3s                                                                   *:*                    
ESTAB      0      0                                             192.168.0.104:ssh                                                         192.168.0.103:36398                
ESTAB      0      0                                                 127.0.0.1:34642                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34638                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34644                                                           127.0.0.1:opsession-prxy       
ESTAB      0      0                                                 127.0.0.1:34640                                                           127.0.0.1:opsession-prxy       
LISTEN     0      80                                                       :::mysql                                                                  :::*             
...

सभी सक्रिय टीसीपी कनेक्शन को अपने टाइमर के साथ प्रदर्शित करने के लिए, निम्न कमांड चलाएँ।

$ ss -to

नेकां (नेटकैट) को " नेटवर्क स्विस आर्मी चाकू " के रूप में भी जाना जाता है, जो टीसीपी, यूडीपी या यूनिक्स-डोमेन सॉकेट से संबंधित लगभग किसी भी कार्य के लिए उपयोग की जाने वाली एक शक्तिशाली उपयोगिता है। इसका उपयोग खुले टीसीपी कनेक्शन के लिए किया जाता है, मनमाने ढंग से टीसीपी और यूडीपी बंदरगाहों पर सुनें, पोर्ट स्कैनिंग प्लस अधिक करें।

आप नेटवर्क डेमॉन परीक्षण के लिए एक साधारण टीसीपी प्रॉक्सी के रूप में भी इसका उपयोग कर सकते हैं, यह जांचने के लिए कि क्या दूरस्थ पोर्ट उपलब्ध हैं और बहुत कुछ। इसके अलावा, आप दो कंप्यूटरों के बीच फ़ाइलों को स्थानांतरित करने के लिए pv कमांड के साथ nc को नियोजित कर सकते हैं।

निम्नलिखित उदाहरण, दिखाएगा कि बंदरगाहों की सूची को कैसे स्कैन किया जाए।

$ nc -zv server2.tecmint.lan 21 22 80 443 3000

आप दिखाए गए अनुसार कई पोर्ट भी निर्दिष्ट कर सकते हैं।

$ nc -zv server2.tecmint.lan 20-90

निम्न उदाहरण दिखाता है कि कैसे nc का उपयोग करके पोर्ट के लिए 5000 पोर्ट पर एक टीसीपी कनेक्शन खोलने के लिए server2.tecmint.lan , पोर्ट 3000 का उपयोग कर स्रोत पोर्ट के रूप में, 10 सेकंड के टाइमआउट के साथ।

$ nc -p 3000 -w 10 server2.tecmint.lan 5000 

Nmap ( नेटवर्क मैपर ) लिनक्स सिस्टम/नेटवर्क प्रशासकों के लिए एक शक्तिशाली और अत्यंत बहुमुखी उपकरण है। इसका उपयोग एकल होस्ट के बारे में जानकारी इकट्ठा करने या एक संपूर्ण नेटवर्क का पता लगाने के लिए किया जाता है। Nmap का उपयोग सुरक्षा स्कैन, नेटवर्क ऑडिट और दूरस्थ मेजबान पर खुले पोर्ट खोजने और बहुत कुछ करने के लिए भी किया जाता है।

उदाहरण के लिए, आप होस्ट होस्ट नाम या IP पते का उपयोग करके स्कैन कर सकते हैं।

$ nmap google.com 

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:23 BST
Nmap scan report for google.com (172.217.166.78)
Host is up (0.0036s latency).
rDNS record for 172.217.166.78: bom05s15-in-f14.1e100.net
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 4.92 seconds

वैकल्पिक रूप से, दिखाए गए अनुसार एक आईपी पते का उपयोग करें।

$ nmap 192.168.0.103

Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:24 BST
Nmap scan report for 192.168.0.103
Host is up (0.000051s latency).
Not shown: 994 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
902/tcp  open  iss-realsecure
4242/tcp open  vrml-multi-use
5900/tcp open  vnc
8080/tcp open  http-proxy
MAC Address: 28:D2:44:EB:BD:98 (Lcfc(hefei) Electronics Technology Co.)

Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

नैम कमांड पर हमारे निम्नलिखित उपयोगी लेख पढ़ें।

  1. How to Use Nmap Script Engine (NSE) Scripts in Linux
  2. A Practical Guide to Nmap (Network Security Scanner) in Kali Linux
  3. Find Out All Live Hosts IP Addresses Connected on Network in Linux

डीएनएस लुकअप यूटिलिटीज

DNS लुकअप को होस्ट करने के लिए होस्ट कमांड एक साधारण उपयोगिता है, यह होस्ट नामों को आईपी एड्रेस में बदल देता है और इसके विपरीत।

$ host google.com

google.com has address 172.217.166.78
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

dig ( डोमेन जानकारी ग्रॉपर ) भी एक और सरल DNS लुकअप यूटिलिटी है, जिसका उपयोग DNS संबंधित जानकारी जैसे कि A रिकॉर्ड, CNAME, MX रिकॉर्ड इत्यादि को क्वेरी करने के लिए किया जाता है, उदाहरण के लिए:

$ dig google.com

; <<>> DiG 9.9.4-RedHat-9.9.4-51.el7 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23083
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 14

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		72	IN	A	172.217.166.78

;; AUTHORITY SECTION:
com.			13482	IN	NS	c.gtld-servers.net.
com.			13482	IN	NS	d.gtld-servers.net.
com.			13482	IN	NS	e.gtld-servers.net.
com.			13482	IN	NS	f.gtld-servers.net.
com.			13482	IN	NS	g.gtld-servers.net.
com.			13482	IN	NS	h.gtld-servers.net.
com.			13482	IN	NS	i.gtld-servers.net.
com.			13482	IN	NS	j.gtld-servers.net.
com.			13482	IN	NS	k.gtld-servers.net.
com.			13482	IN	NS	l.gtld-servers.net.
com.			13482	IN	NS	m.gtld-servers.net.
com.			13482	IN	NS	a.gtld-servers.net.
com.			13482	IN	NS	b.gtld-servers.net.

;; ADDITIONAL SECTION:
a.gtld-servers.net.	81883	IN	A	192.5.6.30
b.gtld-servers.net.	3999	IN	A	192.33.14.30
c.gtld-servers.net.	14876	IN	A	192.26.92.30
d.gtld-servers.net.	85172	IN	A	192.31.80.30
e.gtld-servers.net.	95861	IN	A	192.12.94.30
f.gtld-servers.net.	78471	IN	A	192.35.51.30
g.gtld-servers.net.	5217	IN	A	192.42.93.30
h.gtld-servers.net.	111531	IN	A	192.54.112.30
i.gtld-servers.net.	93017	IN	A	192.43.172.30
j.gtld-servers.net.	93542	IN	A	192.48.79.30
k.gtld-servers.net.	107218	IN	A	192.52.178.30
l.gtld-servers.net.	6280	IN	A	192.41.162.30
m.gtld-servers.net.	2689	IN	A	192.55.83.30

;; Query time: 4 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Jul 12 09:30:57 BST 2018
;; MSG SIZE  rcvd: 487

Nslookup भी एक लोकप्रिय कमांड लाइन उपयोगिता है जो DNS सर्वरों को अंतःक्रियात्मक और गैर-अंतःक्रियात्मक रूप से क्वेरी करने के लिए है। इसका उपयोग DNS संसाधन रिकॉर्ड (RR) को क्वेरी करने के लिए किया जाता है। आप दिखाए गए अनुसार एक डोमेन का "ए" रिकॉर्ड (आईपी पता) पा सकते हैं।

$ nslookup google.com

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
Name:	google.com
Address: 172.217.166.78

आप दिखाए गए अनुसार रिवर्स डोमेन लुकअप भी कर सकते हैं।

$ nslookup 216.58.208.174

Server:		192.168.0.1
Address:	192.168.0.1#53

Non-authoritative answer:
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f14.1e100.net.
174.208.58.216.in-addr.arpa	name = lhr25s09-in-f174.1e100.net.

Authoritative answers can be found from:
in-addr.arpa	nameserver = e.in-addr-servers.arpa.
in-addr.arpa	nameserver = f.in-addr-servers.arpa.
in-addr.arpa	nameserver = a.in-addr-servers.arpa.
in-addr.arpa	nameserver = b.in-addr-servers.arpa.
in-addr.arpa	nameserver = c.in-addr-servers.arpa.
in-addr.arpa	nameserver = d.in-addr-servers.arpa.
a.in-addr-servers.arpa	internet address = 199.180.182.53
b.in-addr-servers.arpa	internet address = 199.253.183.183
c.in-addr-servers.arpa	internet address = 196.216.169.10
d.in-addr-servers.arpa	internet address = 200.10.60.53
e.in-addr-servers.arpa	internet address = 203.119.86.101
f.in-addr-servers.arpa	internet address = 193.0.9.1

लिनक्स नेटवर्क पैकेट एनालाइजर

Tcpdump एक बहुत शक्तिशाली और व्यापक रूप से इस्तेमाल होने वाला कमांड-लाइन नेटवर्क स्निफर है। इसका उपयोग टीसीपी/आईपी पैकेटों को पकड़ने और विश्लेषण करने के लिए किया जाता है या किसी विशिष्ट इंटरफ़ेस पर नेटवर्क पर प्राप्त किया जाता है।

किसी दिए गए इंटरफ़ेस से पैकेट कैप्चर करने के लिए, इसे -i विकल्प का उपयोग करके निर्दिष्ट करें।

$ tcpdump -i eth1

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
09:35:40.287439 IP linux-console.net.ssh > 192.168.0.103.36398: Flags [P.], seq 4152360356:4152360552, ack 306922699, win 270, options [nop,nop,TS val 2211778668 ecr 2019055], length 196
09:35:40.287655 IP 192.168.0.103.36398 > linux-console.net.ssh: Flags [.], ack 196, win 5202, options [nop,nop,TS val 2019058 ecr 2211778668], length 0
09:35:40.288269 IP linux-console.net.54899 > gateway.domain: 43760+ PTR? 103.0.168.192.in-addr.arpa. (44)
09:35:40.333763 IP gateway.domain > linux-console.net.54899: 43760 NXDomain* 0/1/0 (94)
09:35:40.335311 IP linux-console.net.52036 > gateway.domain: 44289+ PTR? 1.0.168.192.in-addr.arpa. (42)

विशिष्ट संख्या के पैकेट पर कब्जा करने के लिए, वांछित संख्या दर्ज करने के लिए -c विकल्प का उपयोग करें।

$ tcpdump -c 5 -i eth1

आप बाद के विश्लेषण के लिए पैकेट को फ़ाइल में कैप्चर और सेव कर सकते हैं, आउटपुट फाइल को निर्दिष्ट करने के लिए -w फ्लैग का उपयोग कर सकते हैं।

$ tcpdump -w captured.pacs -i eth1

Wireshark एक लोकप्रिय, शक्तिशाली, बहुमुखी और आसानी से पैकेट-बंद नेटवर्क में पैकेट को कैप्चर करने और विश्लेषण करने के लिए उपकरण का उपयोग करना है, वास्तविक समय में।

आप बाद में निरीक्षण के लिए फ़ाइल में कैप्चर किए गए डेटा को भी सहेज सकते हैं। इसका उपयोग सिस्टम प्रशासक और नेटवर्क इंजीनियर सुरक्षा और समस्या निवारण उद्देश्यों के लिए पैकेट की निगरानी और निरीक्षण करने के लिए करते हैं।

तारों के बारे में अधिक जानने के लिए नेटवर्क पैकेट का विश्लेषण करने के लिए तारों का उपयोग कैसे करें पर हमारा लेख "10 युक्तियाँ पढ़ें"।

यूनिक्स जैसी प्रणालियों के लिए बाउंस एक शक्तिशाली, कमांड लाइन आधारित नेटवर्क निगरानी और डीबगिंग उपयोगिता है, यह नेटवर्किंग से संबंधित आंकड़ों को कैप्चर करता है और उन्हें एक मानव अनुकूल प्रारूप में नेत्रहीन रूप से प्रिंट करता है। यह एक विश्वसनीय और प्रभावी वास्तविक समय बैंडविड्थ मॉनिटर और दर अनुमानक है।

हमारे लेख पढ़ें "बाउंस - एक शक्तिशाली नेटवर्क बैंडविड्थ की निगरानी और डिबगिंग टूल के बारे में अधिक जानने के लिए"।

लिनक्स फ़ायरवॉल प्रबंधन उपकरण

iptables तालिकाओं को IP IPet फ़िल्टरिंग और NAT नियमों को कॉन्फ़िगर करने, बनाए रखने और निरीक्षण करने के लिए एक कमांड लाइन उपकरण है। इसका उपयोग लिनक्स फ़ायरवॉल (नेटफिल्टर) को सेट और प्रबंधित करने के लिए किया जाता था। यह आपको मौजूदा पैकेट फ़िल्टर नियमों को सूचीबद्ध करने की अनुमति देता है; पैकेट फ़िल्टर नियमों को जोड़ना या हटाना या संशोधित करना; पैकेट फ़िल्टर नियमों के प्रति-नियम काउंटरों की सूची।

आप सीख सकते हैं कि हमारे सरल अभी तक व्यापक गाइड से विभिन्न प्रयोजनों के लिए Iptables का उपयोग कैसे करें।

  1. Basic Guide on IPTables (Linux Firewall) Tips / Commands
  2. 25 Useful IPtable Firewall Rules Every Linux Administrator Should Know
  3. How To Setup an Iptables Firewall to Enable Remote Access to Services
  4. How to Block Ping ICMP Requests to Linux Systems

फायरवाल एक iptables की तरह, लिनक्स फ़ायरवॉल (नेटफिल्टर) को प्रबंधित करने के लिए एक शक्तिशाली और गतिशील डेमॉन है। यह iptables में INPUT, OUTPUT और FORWARD CHAINS के बजाय " नेटवर्क ज़ोन " का उपयोग करता है। वर्तमान लिनक्स वितरण जैसे RHEL/CentOS 7 और Fedora 21 + , iptables को सक्रिय रूप से फ़ायरवॉल द्वारा प्रतिस्थापित किया जा रहा है ।

फ़ायरवॉल से आरंभ करने के लिए, नीचे सूचीबद्ध इन मार्गदर्शिकाओं से परामर्श करें:

  1. Useful ‘FirewallD’ Rules to Configure and Manage Firewall in Linux
  2. How to Configure ‘FirewallD’ in RHEL/CentOS 7 and Fedora 21
  3. How to Start/Stop and Enable/Disable FirewallD and Iptables Firewall in Linux
  4. Setting Up Samba and Configure FirewallD and SELinux to Allow File Sharing on Linux/Windows

लाल

UFW डेबियन और Ubuntu लिनक्स वितरण पर एक प्रसिद्ध और डिफ़ॉल्ट फ़ायरवॉल कॉन्फ़िगरेशन उपकरण है। इसका उपयोग शीर्ष सक्षम/अक्षम सिस्टम फ़ायरवॉल, ऐड/डिलीट/संशोधित/रीसेट पैकेट फ़िल्टरिंग नियम और बहुत कुछ किया जाता है।

UFW फ़ायरवॉल स्थिति की जाँच करने के लिए, टाइप करें।

$ sudo ufw status

यदि UFW फ़ायरवॉल सक्रिय नहीं है, तो आप निम्न कमांड का उपयोग करके इसे सक्रिय या सक्षम कर सकते हैं।

$ sudo ufw enable

UFW फ़ायरवॉल को अक्षम करने के लिए, निम्न कमांड का उपयोग करें।

$ sudo ufw disable 

और अधिक UFW जानने के लिए हमारा लेख "उफौ और डेबियन पर UFW फ़ायरवॉल सेटअप कैसे करें" पढ़ें।

यदि आप किसी विशेष कार्यक्रम के बारे में अधिक जानकारी प्राप्त करना चाहते हैं, तो आप इसके मैन पेज की सलाह ले सकते हैं।

$ man programs_name

अभी के लिए इतना ही! इस व्यापक मार्गदर्शिका में, हमने लिनक्स में नेटवर्क प्रबंधन के लिए कुछ सबसे अधिक उपयोग की जाने वाली कमांड-लाइन टूल्स और उपयोगिताओं की समीक्षा की, विभिन्न श्रेणियों के तहत, सिस्टम प्रशासकों के लिए, और पूर्णकालिक नेटवर्क प्रशासकों/इंजीनियरों के लिए समान रूप से उपयोगी है।

आप इस गाइड के बारे में अपने विचार नीचे दिए गए टिप्पणी फ़ॉर्म के माध्यम से साझा कर सकते हैं। अगर हम किसी भी तरह के उपयोग किए जाने वाले और महत्वपूर्ण लिनक्स नेटवर्किंग टूल/उपयोगिताओं या किसी भी उपयोगी संबंधित जानकारी से चूक गए हैं तो हमें भी बताएं