Required InformationTo enable networking, you must configure your network interface card or cards with an IP address and netmask. The kernel must have support for your cards compiled in, either as modular support or direct support. If you don't have kernel support read the sections about the kernel and how to compile it. To set your cards up, do the following. In my example my network is 192.168.1.0, IP=192.168.1.100, broadcast=192.168.1.255, netmask=255.255.255.0, gateway-192.168.1.1, nameserver=192.168.1.10.
|
Configuration tools
There are many network configuration tools today. They are:netconf | A GUI interactive interface available on Redhat 6.1 | |
linuxconf | A GUI interactive interface available on Redhat 6.1 which includes netconf configuration. | |
netconfig | A GUI step by step interface | |
ifconfig | A text based program to configure the network interface. Type "man ifconfig" for info. |
- /etc/sysconfig/network - Defines your network and some of its characteristics.
- /etc/HOSTNAME - Shows the host name of this host. IF your name is "myhost" then that is exactly the text this file will contain.
- /etc/resolv.conf - Specifies the domain to be searched for host names to connect to, the nameserver address, and the search order for the nameservers.
- /etc/host.conf - Specifies the order nameservice looks to resolve names.
- /etc/hosts - Shows addresses and names of local hosts.
- /etc/networks - Provides a database of network names with network addresses similar to the /etc/hosts file. This file is not required for operation.
- /etc/sysconfig/network-scripts/ifcfg-eth* - There is a file for each network interface. This file contains the IP address of the interface and many other setup variables.
Analysis Tools
- netstat - Displays information about the systems network connections, including port connections, routing tables, and more. The command "netstar -r" will display the routing table.
- traceroute - This command can be used to determine the network route from your computer to some other computer on your network or the internet. To use it you can type "route IPaddress" of the computer you want to see the route to.
- nslookup - Used to query DNS servers for information about hosts.
- arp - This program lets the user read or modify their arp cache.
- tcpdump - This program allows the user to see TCP traffic on their network.
- dig(1) - Send domain name query packets to name servers for debugging or testing.
Manual Configuration
You can use one of the above tools or configure the network the old fashioned way as follows:- First to use networking on any permanent basis you should setup the file /etc/sysconfig/network similar to the example shown below.
- Assign an ip address with "ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up".
- Tell your machine that a hub is ready for information with the command "route add -net 192.168.0.0 netmask 255.255.255.0 eth0"
- To contact hosts outside your network if a machine with IP address 192.168.1.1 is the gateway use the command "route add default gw 192.168.1.1 eth0"
- If using a dialup connection use the command "route add default
ppp0" The word default says if the packet is not for a machine on your
local network, send it to the default device.
DEVICE="eth0" IPADDR="192.168.1.100" NETMASK="255.255.0.0" ONBOOT="yes" BOOTPROTO="none" IPXNETNUM_802_2="" IPXPRIMARY_802_2="no" IPXACTIVE_802_2="no" IPXNETNUM_802_3="" IPXPRIMARY_802_3="no" IPXACTIVE_802_3="no" IPXNETNUM_ETHERII="" IPXPRIMARY_ETHERII="no" IPXACTIVE_ETHERII="no" IPXNETNUM_SNAP="" IPXPRIMARY_SNAP="no" IPXACTIVE_SNAP="no"Unless you know what you're doing it is best to use a network configuration tool. I cannot guarantee the accurateness of how to set these files up on your system.
Configuring an interface for multiple IP addresses
If you want to configure your network card to act as more than one IP address, issue the following command:
ifconfig dummy 192.168.1.102 netmask 255.255.255.0
This uses the dummy system interface capability supported in the kernel
to setup another virtual interface which operates at IP address
192.168.1.102. Substitute the IP address that you want your virtual
interface to be with an appropriate netmask for your network. To
disable this, issue the following command.
ifconfig dummy down
Another way to use multiple IP addresses on one ethernet card is to set
up a new file in your /etc/sysconfig/network-scripts directory. Copy
your ifcfg-eth0 role to ifcfg-eth0:0. Edit that file and rename the
device to "eth0:0" and the IP address to the desired IP address. You
may also want to modify BROADCAST, NETWORK, or NETMASK. You can
continue adding IP addresses by using :1, :2, etc such as ifcfg-eth0:2.To make it effective, you must reboot your system or issue the command "/etc/rc.d/init.d/network restart" as root.
Dynamically allocated IP addresses
To get the IP address of a dynamically allocated network interface in a script file enter the following:
dynip=`/sbin/ifconfig | grep -A 4 ppp0 | awk '/inet/ { print $2 } ' | sed -e s/addr://`
Substitute the correct interface that you get your dynamic IP address in
for ppp0 in the example above. This script line gets your dynamic IP
address for use in a masquerade script. You can use the variable $dynip
as in any other configuration. The next time you make a new
connection you will need to extract the dynip value again and re-run the
masquerade script.
Networking file formats, examples and considerations
Below are listed some more in depth information about the networking files.- /etc/sysconfig/network
The /etc/inittab file contains the entry "si::sysinit:/etc/rc.d/rc.sysinit" which causes the system at startup to run the rc.sysinit script. The rc.sysinit file expects to find the file /etc/sysconfig/network if networking is to be enabled.
The network file looks like this:NETWORKING=yesWhere GATEWAYDEV is the network interface card that is attached to the network the gateway machine is on. The GATEWAY is the actual IP address of the gateway machine.
FORWARD_IPV4=false
HOSTNAME=mymachine.mycompany.com
DOMAINNAME=mycompany.com
GATEWAY=192.168.1.1
GATEWAYDEV=eth0
- /etc/hosts - Defines local hosts.
127.0.0.1 localhost localhost.localdomain 192.168.1.100 mymachine.mycompany.com mymachine
- /etc/services - Internet network services list. It associates port numbers with names of services. The file contains three fields which are name, port/protocol, and aliases with an optional comment.
- /etc/protocols - Describes DARPA internet protocols available
from the TCP/IP subsystem. Maps protocol ID numbers to protocol names.
It includes protocol name, number, and aliases. The protocol file on
my system:
# /etc/protocols: # $Id: protocols,v 1.1 1995/02/24 01:09:41 imurdock Exp $ # # Internet (IP) protocols # # from: @(#)protocols 5.1 (Berkeley) 4/17/89 # # Updated for NetBSD based on RFC 1340, Assigned Numbers (July 1992). ip 0 IP # internet protocol, pseudo protocol number icmp 1 ICMP # internet control message protocol igmp 2 IGMP # Internet Group Management ggp 3 GGP # gateway-gateway protocol ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') st 5 ST # ST datagram mode tcp 6 TCP # transmission control protocol egp 8 EGP # exterior gateway protocol pup 12 PUP # PARC universal packet protocol udp 17 UDP # user datagram protocol hmp 20 HMP # host monitoring protocol xns-idp 22 XNS-IDP # Xerox NS IDP rdp 27 RDP # "reliable datagram" protocol iso-tp4 29 ISO-TP4 # ISO Transport Protocol class 4 xtp 36 XTP # Xpress Tranfer Protocol ddp 37 DDP # Datagram Delivery Protocol idpr-cmtp 39 IDPR-CMTP # IDPR Control Message Transport rspf 73 RSPF #Radio Shortest Path First. vmtp 81 VMTP # Versatile Message Transport ospf 89 OSPFIGP # Open Shortest Path First IGP ipip 94 IPIP # Yet Another IP encapsulation encap 98 ENCAP # Yet Another IP encapsulation
- /etc/named.conf - Used for domain name service to configure named. Other files used are dependent on this file. This file is explained further in the DNS section
- /etc/resolv.conf - Specifies the domain to be searched for host
names to connect to, the nameserver address, and the search order for
the nameservers.
domain mycompany.com search mycompany.com mynet.net nameserver 192.168.1.100 nameserver 192.168.199.1 nameserver 192.168.1.10
The third line specifies that DNS should be tried on my machine first then use the normal nameserver on the fifth line. The fourth line specifies that my machine is running nameservices on another network which is using interface 192.168.199.1. This assumes the nameserver is set up on my machine which is explained in another section.
- /etc/host.conf - Specifies the order nameservice looks to resolve names. An example file:
order hosts, bind multi on nospoof on
The order specifies that when resolving names to first look in the /etc/host file, then use BIND8 (DNS) to resolve the name. The line "multi on" specifies that all valid addresses for a host found in the hosts file should be returned.
Older X windows configuration
In Xwindows a working configuration is set up as follows:- NAMES:
- hostname: mymachine.mycompany.com
- Domain: mycompany.com
- Nameservers: 192.168.1.10
- HOSTS:
- IP - 192.168.1.100
- Name - mymachine.mycompany.com
- INTERFACES:
- Interface - eth0
- IP- 192.168.1.100
- proto - none
- atboot - yes
- Netmask: 255.255.255.0
- Network: 192.168.1.0
- Broadcast: 192.168.1.255
- ROUTING:
- Default gateway: 192.168.1.1
- Default gateway device: eth0
- Interface - 192.168.1.100
- Network Address - 192.168.1.0
- Network gateway 192.168.1.1
- Netmask - 255.255.255.0