9.8. Config TCP/IP Networking manually -command line

The ifconfig utility is the tool used to set up and configure your network card. You should understand this command in the event you need to configure the network by hand. An important note to take care with is when using ifconfig to configure your network devices; the settings will not survive a reboot. To assign the eth0 interface the IP-address of 208.164.186.2 use the command:


         [root@deep] /#ifconfig eth0 208.164.186.2 netmask 255.255.255.0
         

Tip: Usually, the pratice is to configure or change the TCP/IP networking manually only to make some test on the server. If you want to keep your TCP/IP values, it's preferable to set them in the files related to networking functionality.

To display all the interfaces you have on your server, use the command:


         [root@deep] /#ifconfig
         
The output should look something like this:

           
         eth0     Link encap:Ethernet  HWaddr 00:E0:18:90:1B:56  
         inet addr:208.164.186.2  Bcast:208.164.186.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1295 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1163 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:100 
         Interrupt:11 Base address:0xa800 

         lo     Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         UP LOOPBACK RUNNING  MTU:3924  Metric:1
         RX packets:139 errors:0 dropped:0 overruns:0 frame:0
         TX packets:139 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         
         
If the ifconfig tool is invoked without any parameters, it displays all interfaces you have configured. An option of -a shows the inactive one as well.

To display all interfaces as well as inactive interfaces you may have, use the command:


         [root@deep] /#ifconfig -a
         
The output should look something like this:
         
         
         eth0     Link encap:Ethernet  HWaddr 00:E0:18:90:1B:56  
         inet addr:208.164.186.2  Bcast:208.164.186.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1295 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1163 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:100 
         Interrupt:11 Base address:0xa800 

         eth1   Link encap:Ethernet  HWaddr 00:E0:18:90:1B:56  
         inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1295 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1163 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:100 
         Interrupt:5 Base address:0xa320

         lo     Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         UP LOOPBACK RUNNING  MTU:3924  Metric:1
         RX packets:139 errors:0 dropped:0 overruns:0 frame:0
         TX packets:139 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         
         
It is important to note that the settings configured with the ifconfig toll for your network devices will not survive a reboot.

To assign the default gateway for 208.164.186.12 use the command:


         [root@deep] /#route add default gw 208.164.186.1
         
In this example, the default route is set up to go to 208.164.186.12, your router. Once again, if you want to keep your default gateway value, it's preferable to set in it the files related to networking functionality -/etc/sysconfig/network.

Verify that you can reach your hosts. Choose a host from your network, for instance 208.164.186.1. Use the command:


         [root@deep] /#ping 208.164.186.1
         
The output should look something like this:

         [root@deep networking]# ping 208.164.186.1
         PING 208.164.186.1 (208.164.186.1) from 208.164.186.2 : 56 data bytes
         64 bytes from 208.164.186.2: icmp_seq=0 ttl=128 time=1.0 ms
         64 bytes from 208.164.186.2: icmp_seq=1 ttl=128 time=1.0 ms
         64 bytes from 208.164.186.2: icmp_seq=2 ttl=128 time=1.0 ms
         64 bytes from 208.164.186.2: icmp_seq=3 ttl=128 time=1.0 ms

         --- 208.164.186.1 ping statistics ---
         4 packets transmitted, 4 packets received, 0% packet loss
         round-trip min/avg/max = 1.0/1.0/1.0 ms
         
         

You should now display the routing information with the command route to see if both hosts have the correct routing entry. Use the command:


         [root@deep] /#route -n
         
The output should look something like this:

         Kernel         IP                      routing table
         Destination    Gateway Genmask Flags   Metric  Ref     Use     Iface
         208.164.186.2  0.0.0.0 255.255.255.255 UH      0       0       0       eth0
         208.164.186.0  208.164.186.2   255.255.255.0   UG      0       0       0       eth0
         208.164.186.0  0.0.0.0 255.255.255.0   U       0       0       0       eth0
         127.0.0.0      0.0.0.0 255.0.0.0       U       0       0       0       lo
         
         

To check the status of the interfaces quickly, use the netstat -i command, as follows:


         [root@deep] /#netstat -i
         
The output should look something like this:

         Kernel Interface table
         Iface  MTU     Met     RX-OK   RX-ERR  RX-DRP  RX-OVR  TX-OK   TX-ERR  TX-DRP  TX-OVR Flg
         eth0   1500    0       4236    0       0       0       3700    0       0       0       BRU     
         lo     3924    0       13300   0       0       0       13300   0       0       0       LRU
         ppp0   1500    0       14      1       0       0       16      0       0       0       PRU
         
         

Another useful netstat option is -t, which shows all active TCP connections. Following is a typical result of netstat -t:


         [root@deep] /#netstat -t
         
The output should look something like this:

         Active Internet connections (w/o servers)
         Proto  Recv-Q  Send-Q  Local Address   Foreign Address State      
         Tcp    0       0       deep.openar:netbios-ssn gate.openna.com:1045    ESTABLISHED 
         Tcp    0       0       localhost:1032  localhost:1033  ESTABLISHED 
         Tcp    0       0       localhost:1033  localhost:1032  ESTABLISHED 
         Tcp    0       0       localhost:1030  localhost:1034  ESTABLISHED 
         Tcp    0       0       localhost:1031  localhost:1030  ESTABLISHED 
         Tcp    0       0       localhost:1028  localhost:1029  ESTABLISHED 
         Tcp    0       0       localhost:1029  localhost:1028  ESTABLISHED 
         Tcp    0       0       localhost:1026  localhost:1027  ESTABLISHED 
         Tcp    0       0       localhost:1027  localhost:1026  ESTABLISHED 
         Tcp    0       0       localhost:1024  localhost:1025  ESTABLISHED 
         Tcp    0       0       localhost:1025  localhost:1024  ESTABLISHED 
         
         

To shows all active and listen TCP connections, use the command:


         [root@deep] /#netstat -vat
         
The output should look something like this:

         Active Internet connections (servers and established)
         Proto Recv-Q Send-Q Local Address                      Foreign Address                 State      
         tcp        0      0 deep.openna.co:domain              *:*                             LISTEN      
         tcp        0      0 localhost:domain                   *:*                             LISTEN      
         tcp        0      0 deep.openna.com:ssh                gate.openna.com:1682            ESTABLISHED 
         tcp        0      0 *:webcache                         *:*                             LISTEN      
         tcp        0      0 deep.openar:netbios-ssn            *:*                             LISTEN      
         tcp        0      0 localhost:netbios-ssn              *:*                             LISTEN      
         tcp        0      0 localhost:1032                     localhost:1033                  ESTABLISHED 
         tcp        0      0 localhost:1033                     localhost:1032                  ESTABLISHED 
         tcp        0      0 localhost:1030                     localhost:1031                  ESTABLISHED 
         tcp        0      0 localhost:1031                     localhost:1030                  ESTABLISHED 
         tcp        0      0 localhost:1028                     localhost:1029                  ESTABLISHED 
         tcp        0      0 localhost:1029                     localhost:1028                  ESTABLISHED 
         tcp        0      0 localhost:1026                     localhost:1027                  ESTABLISHED 
         tcp        0      0 localhost:1027                     localhost:1026                  ESTABLISHED 
         tcp        0      0 localhost:1024                     localhost:1025                  ESTABLISHED 
         tcp        0      0 localhost:1025                     localhost:1024                  ESTABLISHED 
         tcp        0      0 deep.openna.com:www                *:*                             LISTEN      
         tcp        0      0 deep.openna.com:https              *:*                             LISTEN      
         tcp        0      0 *:389                              *:*                             LISTEN      
         tcp        0      0 *:ssh                              *:*                             LISTEN      
         

To stop all network devices manually on your system, use the following command:


         [root@deep] /# /etc/rc.d/init.d/network stop
         

         Shutting down interface eth0              [  OK  ]
         Disabling IPv4 packet forwarding        [  OK  ]
         

To start all network devices manually on your system, use the following command:


         [root@deep] /# /etc/rc.d/init.d/network start

         

         Enabling IPv4 packet forwarding    [  OK  ]
         Bringing up interface lo                 [  OK  ]
         Bringing up interface eth0               [  OK  ]