Computers are connected in a network to exchange information or
resources each other. Two or more computer connected through network
media called
computer network. There are number of network devices or media are involved to form computer network. Computer loaded with
Linux Operating System can also be a part of network whether it is small or large network by its
multitasking and multiuser natures. Maintaining of system and network up and running is a task of
System / Network Administrator’s job. In this article we are going to review frequently used network configuration and troubleshoot commands in Linux.
Linux Network Configuration and Troubleshooting Commands
1. ifconfig
ifconfig (
interface configurator) command is use to initialize an interface, assign
IP Address to interface and
enable or
disable interface on demand. With this command you can view
IP Address and
Hardware /
MAC address assign to interface and also
MTU (
Maximum transmission unit) size.
# 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 with interface (
eth0) command only shows specific interface details like
IP Address,
MAC Address etc. with
-a options will display all available interface details if it is disable also.
# 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
Assigning IP Address and Gateway
Assigning an
IP Address and
Gateway to interface on the fly. The setting will be removed in case of system reboot.
# ifconfig eth0 192.168.50.5 netmask 255.255.255.0
Enable or Disable Specific Interface
To
enable or
disable specific Interface, we use example command as follows.
Enable eth0
# ifup eth0
Disable eth0
# ifdown eth0
Setting MTU Size
By default
MTU size is
1500. We can set required
MTU size with below command. Replace
XXXX with size.
# ifconfig eth0 mtu XXXX
Set Interface in Promiscuous mode
Network interface only received packets belongs to that particular
NIC. If you put interface in
promiscuous
mode it will received all the packets. This is very useful to capture
packets and analyze later. For this you may require superuser access.
# ifconfig eth0 - promisc
2. PING Command
PING (
Packet INternet Groper) command is the best way to test connectivity between
two nodes. Whether it is
Local Area Network (
LAN) or
Wide Area Network (
WAN). Ping use
ICMP (
Internet Control Message Protocol) to communicate to other devices. You can ping host name of
ip address using below command.
# 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
In
Linux ping command keep executing until you interrupt. Ping with
-c option exit after
N number of request (success or error respond).
# 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
4. NETSTAT Command
Netstat (
Network Statistic) command display connection info, routing table information etc. To displays routing table information use option as
-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
5. DIG Command
Dig (
domain information groper) query
DNS related information like
A Record,
CNAME,
MX Record etc. This command mainly use to troubleshoot
DNS related query.
# 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<
6. NSLOOKUP Command
nslookup command also use to find out
DNS related query. The following examples shows
A Record (
IP Address) of
tecmint.com.
# 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
7. ROUTE Command
route command also shows and manipulate
ip routing table. To see default routing table in
Linux, type the following command.
# 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
Adding, deleting routes and default Gateway with following commands.
Route Adding
# route add -net 10.10.10.0/24 gw 192.168.0.1
Route Deleting
# route del -net 10.10.10.0/24 gw 192.168.0.1
Adding default Gateway
# route add default gw 192.168.0.1
8. HOST Command
host command to find name to
IP or
IP to name in
IPv4 or
IPv6 and also query
DNS records.
# 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
Using
-t option we can find out DNS Resource Records like
CNAME,
NS,
MX,
SOA etc.
# host -t CNAME www.redhat.com
www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.
9. ARP Command
ARP (Address Resolution Protocol) is useful to
view /
add the contents of the kernel’s
ARP tables. To see default table use the command as.
# arp -e
Address HWtype HWaddress Flags Mask Iface
192.168.50.1 ether 00:50:56:c0:00:08 C eth0
10. ETHTOOL Command
ethtool is a replacement of
mii-tool. It is to view, setting speed and duplex of your
Network Interface Card (
NIC). You can set duplex permanently in
/etc/sysconfig/network-scripts/ifcfg-eth0 with
ETHTOOL_OPTS variable.
# ethtool eth0
Settings for eth0:
Current message level: 0x00000007 (7)
Link detected: yes
11. IWCONFIG Command
iwconfig command in
Linux is use to configure a
wireless network interface. You can see and set the basic
Wi-Fi details like
SSID channel and encryption. You can refer man page of
iwconfig to know more.
# iwconfig [interface]
12. HOSTNAME Command
hostname is to identify in a network. Execute
hostname command to see the hostname of your box. You can set hostname permanently in
/etc/sysconfig/network. Need to reboot box once set a proper hostname.
# hostname
tecmint.com
13. GUI tool system-config-network
Type
system-config-network in command prompt to configure network setting and you will get nice
Graphical User Interface (
GUI) which may also use to configure
IP Address,
Gateway,
DNS etc. as shown below image.
# system-config-network
Linux GUI Network Configuration Tool
This article can be useful for day to day use of
Linux Network administrator in
Linux / Unix-like operating system. Kindly share through our comment box if we missed out.
Comments
Post a Comment