Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
2 views

Lecture-5_Networking Commands

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Lecture-5_Networking Commands

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

Linux Networking Commands

Dr. Vimal Baghel, Assistant Professor


SCSET, BU
Outline

• Understanding Network Devices


• Configuring NIC IP address
• Configuring Networking with Command-line Utilities
• Important Files
• Tools and Network Performance Analysis
• Commands for Connectivity, ARP, Routing, Switching, VLAN, NAT
Firewall
• Q&A
Understanding Network Devices in Linux

• Linux networking devices


• Not shown in /dev directory
• Do not “exist” on system until appropriate device driver
installed in kernel
• Networking device
• Named channel over which network traffic can pass
• Device drivers for networking are kernel modules

3
Understanding Network Devices in Linux
(continued)
• Kernel modules can be loaded or unloaded while
Linux is running
• /dev/eth0
• First Ethernet card installed on system
• Media Access Control (MAC) address
• Unique address assigned by Ethernet card manufacturer

4
Understanding Network Devices in Linux
(continued)

• To obtain MAC address


• Host (switch) broadcasts message to entire network
segment using Address Resolution Protocol (ARP)
• Host with IP address responds directly to computer that
sent ARP request with MAC address
• Source host stores MAC address and IP address

5
Understanding Network Devices in Linux
(continued)

• arp command
• Display ARP cache
• Mapping of IP addresses to hardware addresses
• Used mainly for troubleshooting network connectivity
• Refreshed frequently

6
Configuration NIC IP address
• NIC: Network Interface Card
• Use “ipconfig” command to determine IP address, interface devices, and
change NIC configuration
• Any device use symbol to determine
• eth0: Ethernet device number 0
• eth1: ethernet device number 1
• lo : local loopback device
• Wlan0 : Wireless lan 0

7
Determining NIC IP Address

[root@tmp]# ifconfig -a

eth0 Link encap:Ethernet HWaddr 00:08:C7:10:74:A8


BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Interrupt:11 Base address:0x1820

lo Link encap:Local Loopback


inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:787 errors:0 dropped:0 overruns:0 frame:0
TX packets:787 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:82644 (80.7 Kb) TX bytes:82644 (80.7 Kb)
8
Changing IP Address
• We could give this eth0 interface an IP address using the
ifconfig command.

[root@tmp]# ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up

• The "up" at the end of the command activates the


interface.

• To make this permanent at each boot up time, add this


command in /etc/rc.local file which is run at the end of
every reboot.

9
Permanent IP configuration

• Fedora Linux also makes life a little easier with interface


configuration files located in the /etc/sysconfig/network-
scripts directory.
• Interface eth0 has a file called ifcfg-eth0, eth1 uses ifcfg-
eth1, and so on.
• Admin can place your IP address information in these files

10
File formats for network-scripts
root@network-scripts]# less ifcfg-eth0

DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.0

BOOTPROTO=static
ONBOOT=yes
#
# The following settings are optional
#
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
[root@network-scripts]# 11
Getting the IP Address Using DHCP

[root@tmp]# cd /etc/sysconfig/network-scripts

[root@network-scripts]# less ifcfg-eth0

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

[root@network-scripts]#

12
Activate config change
• After change, the values in the configuration files for the NIC you
must deactivate and activate it for the modifications to take effect.
• The ifdown and ifup commands can be used to do this:

[root@network-scripts]# ifdown eth0


[root@network-scripts]# ifup eth0

13
Multiple IP Addresses on a Single NIC(1)
[root@tmp]# ifconfig –a

wlan0 Link encap:Ethernet HWaddr 00:06:25:09:6A:B5


inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:47379 errors:0 dropped:0 overruns:0 frame:0
TX packets:107900 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4676853 (4.4 Mb) TX bytes:43209032 (41.2 Mb)
Interrupt:11 Memory:c887a000-c887b000

wlan0:0 Link encap:Ethernet HWaddr 00:06:25:09:6A:B5


inet addr:192.168.1.99 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:11 Memory:c887a000-c887b000
14
Multiple IP Addresses on a Single NIC(2)
• In the previous slide, there were two wireless interfaces: wlan0
and wlan0:0.
• Interface wlan0:0 is a child interface of wlan0, a virtual
subinterface (an IP alias.)
• IP aliasing is one of the most common ways of creating
multiple IP addresses associated with a single NIC.
• Aliases have the name format parent-interface-name:X, where
X is the sub-interface number of your choice.
15
The process for creating an IP alias
• First ensure the parent real interface exists
• Verify that no other IP aliases with the same name exists with
the name you plan to use. In this we want to create interface
wlan0:0.
• Create the virtual interface with the ifconfig command

[ root@tmp]# ifconfig wlan0:0 192.168.1.99 netmask 255.255.255.0 up

• Shutting down the main interface also shuts down all its aliases
too. Aliases can be shutdown independently of other interfaces 16
The process for creating an IP alias
• Admin should also create a /etc/sysconfig/network-
scripts/ifcfg-wlan0:0 file
• so that the aliases will all be managed automatically
with the ifup and ifdown commands
DEVICE=wlan0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.99
NETMASK=255.255.255.0

• The commands to activate and deactivate the alias


interface would therefore be: [root@tmp]# ifup wlan0:0
[root@tmp]# ifdown wlan0:0 17
How to View Current Routing Table

• The netstat -nr command will provide the contents of the


touting table.
• Networks with a gateway of 0.0.0.0 are usually directly
connected to the interface.
• No gateway is needed to reach your own directly
connected interface, so a gateway address of 0.0.0.0
seems appropriate.
• The route with a destination address of 0.0.0.0 is your
default gateway
18
#natstat –nr command
[root@tmp]# netstat -nr

Kernel IP routing table


Destination Gateway Genmask Flags MSS Window irtt Iface
172.16.68.64 172.16.69.193 255.255.255.224 UG 40 0 0 eth1
172.16.11.96 172.16.69.193 255.255.255.224 UG 40 0 0 eth1
172.16.68.32 172.16.69.193 255.255.255.224 UG 40 0 0 eth1
172.16.67.0 172.16.67.135 255.255.255.224 UG 40 0 0 eth0
172.16.69.192 0.0.0.0 255.255.255.192 U 40 0 0 eth1
172.16.67.128 0.0.0.0 255.255.255.128 U 40 0 0 eth0
172.160.0 172.16.67.135 255.255.0.0 UG 40 0 0 eth0
172.16.0.0 172.16.67.131 255.240.0.0 UG 40 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 40 0 0 lo
0.0.0.0 172.16.69.193 0.0.0.0 UG 40 0 0 eth1
[root@tmp]#

19
How to Change Default Gateway
[root@tmp]# route add default gw 192.168.1.1 wlan0

• In this case, make sure that the router/firewall with IP address


192.168.1.1 is connected to the same network as interface
wlan0
• Once done, we'll need to update “/etc/sysconfig/network” file
to reflect the change. This file is used to configure your default
gateway each time Linux boots.

NETWORKING=yes
HOSTNAME=bigboy
GATEWAY=192.168.1.1 20
How to Delete a Route

[root@tmp]# route del -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.254 wlan0

21
Linux router

• Router/firewall appliances that provide basic Internet connectivity


for a small office or home network are becoming more affordable
every day
• when budgets are tight you might want to consider modifying an
existing Linux server to be a router

22
Configuring IP Forwarding
• For your Linux server to become a router, you have
to enable packet forwarding.
• In simple terms packet forwarding enables packets
to flow through the Linux server from one network
to another.
• The Linux kernel configuration parameter to activate
this is named net.ipv4.ip_forward and can be found
in the file /etc/sysctl.conf.
• Remove the "#" from the line related to packet
forwarding.
23
/etc/sysctl.conf changing
Before: # Disables packet forwarding

net.ipv4.ip_forward=0

After: # Enables packet forwarding

net.ipv4.ip_forward=1

• To activate the feature immediately you


must force Linux to read the [root@tmp]# sysctl -p
/etc/sysctl.conf file with the sysctl
command using the -p switch
24
Configuring /etc/hosts File
• The /etc/hosts file is just a list of IP addresses and their corresponding
server names.
• Your server will typically check this file before referencing DNS. If the
name is found with a corresponding IP address, then DNS won't be
queried at all.
• Unfortunately, if the IP address for that host changes, you also must also
update the file. This may not be much of a concern for a single server
but can become laborious if it must be done companywide.
• Use a centralized DNS server to handle most of the rest.
• Sometimes we might not be the one managing the DNS server, and in
such cases, it may be easier to add a quick /etc/hosts file entry till the
centralized change can be made.
25
/etc/hosts

192.168.1.101 smallfry
• You can also add aliases to the end of the line which enable
you to refer to the server using other names.
• Here we have set it up so that smallfry can also be accessed
using the names tiny and littleguy.

192.168.1.101 smallfry tiny littleguy


26
/etc/hosts

• You should never have an IP address more than once


in this file because Linux will use only the values in the
first entry it finds.

192.168.1.101 smallfry # (Wrong)


192.168.1.101 tiny # (Wrong)
192.168.1.101 littleguy # (Wrong)

27
Using ping to Test Network Connectivity
• The Linux ping command will send continuous pings, once a second, until
stopped with a Ctrl-C.
• Here is an example of a successful ping to the server bigboy at 192.168.1.100
[root@smallfry tmp]# ping 192.168.1.101
PING 192.168.1.101 (192.168.1.101) from 192.168.1.100 : 56(84) bytes of data.
64 bytes from 192.168.1.101: icmp_seq=1 ttl=128 time=3.95 ms
64 bytes from 192.168.1.101: icmp_seq=2 ttl=128 time=7.07 ms
64 bytes from 192.168.1.101: icmp_seq=3 ttl=128 time=4.46 ms
64 bytes from 192.168.1.101: icmp_seq=4 ttl=128 time=4.31 ms

--- 192.168.1.101 ping statistics ---


4 packets transmitted, 4 received, 0% loss, time 3026ms
rtt min/avg/max/mdev = 3.950/4.948/7.072/1.242 ms

[root@smallfry tmp]# 28
Using ping to Test Network Connectivity
•Most servers will respond to a ping query it
becomes a very handy tool.
•A lack of response could be due to:
• A server with that IP address doesn't exist
• The server has been configured not to respond to pings
• A firewall or router along the network path is blocking ICMP
traffic
• You have incorrect routing. Check the routes and subnet masks
on both the local and remote servers and all routers in
between.
• Either the source or destination device having an incorrect IP
address or subnet mask.
29
Configuring Networking with Command-line
Utilities
• ifconfig command
• Set up network configuration in Linux kernel
• Parameters include:
• Network interface
• IP address assigned to interface
• Network mask
• Syntax
• ifconfig device ip_address netmask address broadcast address
• $ ifconfig eth0
30
Configuring Networking with Command-line
Utilities (continued)

• Packet: Unit of data that network card transmits


• Broadcast address sends packet to all computers on
same part of network
• Maximum transmission unit (MTU)
• Maximum size of packet interface supports

31
Configuring Networking with Command-line
Utilities (continued)
• View status of interface: ifconfig eth0
• Stop Ethernet interface: ifconfig eth0 down
• Start Ethernet interface: ifconfig eth0 up
• Routing table tells networking software where to send packets that are not
part of local network
• A real example of configuring an Ethernet card at the command line might
look like this:
• # ifconfig eth0 192.168 . 100.1 netmask 255.255.255.0 broadcast 192. 168.100.255

32
Configuring Networking with Command-line
Utilities (continued)
• route command
• View or configure routing table within kernel
• Executed at boot time when networking initialized
• Output information for addresses
• 192.168.100.0 (eth0 IP address)
• 127.0.0.0
• Other

33
Configuring Networking with Command-line
Utilities (continued)
• Route command output
• Destination – Ref
• Gateway – Use
• Genmask – Iface
• Flags
• Add route example:
• route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
• This command adds a default gateway route,
• # route add default gw 192.168.100.5

34
Configuring Networking with Command-line
Utilities (continued)
• service command
• Start or stop networking
• Relies on script /etc/rc.d/init.d/network
• /etc/sysconfig/networking/devices configuration directory
• Contains file for each network device
• ifcfg-eth0 file
• Used by /etc/rc.d/init.d/network script
• As it executes ifconfig and route commands

35
Changing IP Address/Other Parameters

• Change the information in /etc/sysconfig/network-


scripts/ifcfg-eth0
• Execute this command:
• # service network restart

36
Configuring Networking with Command-line
Utilities (continued)

• ifup and ifdown scripts manage single interface, rather than all network
interfaces
• Example:
• # ./ifup eth0
• # ./ifdown eth0
• Some systems have two or more physical network devices

37
Configuring Networking with Command-line
Utilities (continued)

• IP forwarding
• Allows packets to be passed between network interfaces
• Required for any router
• To enable:
• # echo 1 > /proc/sys/net/ipv4/ip_forward

38
Thanks
Q&A

You might also like