From 5a12e7c134274dba706667107d10d231517d3e05 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Wed, 26 Aug 2009 10:00:38 -0500 Subject: Slackware 13.0 Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P. --- slackbook/html/network-configuration-tcpip.html | 324 ++++++++++++++++++++++++ 1 file changed, 324 insertions(+) create mode 100644 slackbook/html/network-configuration-tcpip.html (limited to 'slackbook/html/network-configuration-tcpip.html') diff --git a/slackbook/html/network-configuration-tcpip.html b/slackbook/html/network-configuration-tcpip.html new file mode 100644 index 000000000..3b49437ef --- /dev/null +++ b/slackbook/html/network-configuration-tcpip.html @@ -0,0 +1,324 @@ + + + + +TCP/IP Configuration + + + + + + + + + + + +
+

5.3 TCP/IP Configuration

+ +

At this point, your network card should be physically installed in your computer, and +the relevant kernel modules should be loaded. You will not yet be able to communicate +over your network card, but information about the network device can be obtained with ifconfig -a.

+ + + + + +
+
+# ifconfig -a
+eth0 Link encap:Ethernet HWaddr 00:A0:CC:3C:60:A4
+UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
+RX packets:110081 errors:1 dropped:0 overruns:0 frame:0
+TX packets:84931 errors:0 dropped:0 overruns:0 carrier:0
+collisions:0 txqueuelen:100
+RX bytes:114824506 (109.5 Mb) TX bytes:9337924 (8.9 Mb)
+Interrupt:5 Base address:0x8400
+
+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:2234 errors:0 dropped:0 overruns:0 frame:0
+TX packets:2234 errors:0 dropped:0 overruns:0 carrier:0
+collisions:0 txqueuelen:0
+RX bytes:168758 (164.8 Kb) TX bytes:168758 (164.8 Kb)
+
+
+ +

If you just typed /sbin/ifconfig without the -a suffix, you would not see the eth0 +interface, as your network card does not yet have a valid IP address or route.

+ +

While there are many different ways to setup and subnet a network, all of them can be +broken down into two types: Static and Dynamic. Static networks are setup such that each +node (geek lingo for thing with an IP address) always has the same IP address. Dynamic +networks are setup in such a way that the IP addresses for the nodes are controlled by a +single server called the DHCP server.

+ +
+

5.3.1 DHCP

+ +

DHCP (or Dynamic Host Configuration Protocol), is a means by which an IP address may +be assigned to a computer on boot. When the DHCP client boots, it puts out a request on the Local Area Network +for a DHCP server to assign it an +IP address. The DHCP server has a pool (or scope) of IP addresses available. The server will respond to +this request with an IP address from the pool, along with a lease time. Once the lease time for a given IP address lease +has expired, the client must contact the server again and repeat the negotiation.

+ +

The client will then accept the IP address from the server and will configure the +requested interface with the IP address. There is one more handy trick that DHCP clients +use for negotiating the IP address that they will be assigned, however. The client will +remember it's last assigned IP address, and will request that the server re-assign that +IP address to the client again upon next negotiation. If possible, the server will do so, +but if not, a new address is assigned. So, the negotiation resembles the following:

+ +

    Client: Is there a DHCP server available on the LAN?
+ +    Server: Yes, there is. Here I am.
+ +    Client: I need an IP address.
+    Server: You may take 192.168.10.10 for 19200 seconds.
+ +    Client: Thank you.

+ +

    Client: Is there a DHCP server available on the LAN?
+ +    Server:Yes, there is. Here I am.
+ +    Client:I need an IP address. The last time we
+ +    talked, I had 192.168.10.10;
+    May I have it again?
+    Server:Yes, you may (or No, you may not: take 192.168.10.12 instead).
+ +    Client: Thank you.

+ +

The DHCP client in Linux is /sbin/dhcpcd. If you load /etc/rc.d/rc.inet1 in your favorite text editor, you will notice +that /sbin/dhcpcd is called about midway through the script. +This will force the conversation shown above. dhcpcd will also +track the amount of time left on the lease for the current IP address, and will +automatically contact the DHCP server with a request to renew the lease when necessary. +DHCP can also control related information, such as what ntp server to use, what route to +take, etc.

+ +

Setting up DHCP on Slackware is simple. Just run netconfig +and select DHCP when offered. If you have more than one NIC and do not wish eth0 to be configured by DHCP, just edit the /etc/rc.d/rc.inet1.conf file and change the related variable for +your NIC to “YES”.

+
+ +
+

5.3.2 Static IP

+ +

Static IP addresses are fixed addresses that only change if manually told to. These +are used in any case where an administrator doesn't want the IP information to change, +such for internal servers on a LAN, any server connected to the Internet, and networked +routers. With static IP addressing, you assign an address and leave it at that. Other +machines know that you are always at that certain IP address and can contact you at that +address always.

+
+ +
+

5.3.3 /etc/rc.d/rc.inet1.conf

+ +

If you plan on assigning an IP address to your new Slackware box, you may do so either +through the netconfig script, or you may edit /etc/rc.d/rc.inet1.conf. In /etc/rc.d/rc.inet1.conf , you will notice:

+ + + + + +
+
+    # Primary network interface card (eth0)
+    IPADDR[0]=""
+    NETMASK[0]=""
+    USE_DHCP[0]=""
+    DHCP_HOSTNAME[0]=""
+
+
+ +

Then further at the bottom:

+ + + + + +
+
+    GATEWAY=""
+
+
+ +

In this case, our task is merely to place the correct information between the +double-quotes. These variables are called by /etc/rc.d/rc.inet1 +at boot time to setup the nics. For each NIC, just enter the correct IP information, or +put “YES” for USE_DHCP. +Slackware will startup the interfaces with the information placed here in the order they +are found.

+ +

The DEFAULT_GW variable sets up the default route for +Slackware. All communications between your computer and other computers on the Internet +must pass through that gateway if no other route is specified for them. If you are using +DHCP, you will usually not need to enter anything here, as the DHCP server will specify +what gateway to use.

+
+ +
+

5.3.4 /etc/resolv.conf

+ +

Ok, so you've got an IP address, you've got a default gateway, you may even have ten +million dollars (give us some), but what good is that if you can't resolve names to IP +addresses? No one wants to type in 72.9.234.112 into their web +browser to reach www.slackbook.org. After all, who other than the +authors would memorize that IP address? We need to setup DNS, but how? That's where /etc/resolv.conf comes into play.

+ +

Chances are you already have the proper options in /etc/resolv.conf. If you setup your network connection using DHCP, +the DHCP server should handle updating this file for you. (Technically the DHCP server +just tells dhcpcd what to put here, and it obeys.) If you need +to manually update your DNS server list though, you'll need to hand edit /etc/resolv.conf. Below is an example:

+ + + + + +
+
+# cat /etc/resolv.conf
+nameserver 192.168.1.254
+search lizella.net
+
+
+ +

The first line is simple. The nameserver directive tells us what DNS servers to query. +By necessity these are always IP addresses. You may have as many listed there as you +like. Slackware will happily check one after the other until one returns a match.

+ +

The second line is a little more interesting. The search directive gives us a list of +domain names to assume whenever a DNS request is made. This allows you to contact a +machine by only the first part of its FQDN (Fully Qualified Domain Name). For example, if +“slackware.com” were in your search path, you could reach http://store.slackware.com by just pointing your web browser at http://store.

+ + + + + +
+
+# ping -c 1 store
+PING store.slackware.com (69.50.233.153): 56 data bytes
+64 bytes from 69.50.233.153 : icmp_seq=0 ttl=64 time=0.251 ms
+1 packets transmitted, 1 packets received, 0% packet loss
+round-trip min/avg/max = 0.251/0.251/0.251 ms
+
+
+ +
+
+
+ +
+

5.3.5 /etc/hosts

+ +

Now that we've got DNS working fine, what if we want to bypass our DNS server, or add +a DNS entry for a machine that isn't in DNS? Slackware includes the oft-loved /etc/hosts file which contains a local list of DNS names and IP +addresses they should match to.

+ + + + + +
+
+# cat /etc/hosts
+127.0.0.1           localhost  locahost.localdomain
+192.168.1.101       redtail
+172.14.66.32        foobar.slackware.com
+
+
+ +

Here you can see that localhost has an IP address of 127.0.0.1 +(always reserved for localhost), redtail can be reached at 192.168.1.101, and foobar.slackware.com is +172.14.66.32.

+
+
+ + + + + -- cgit v1.2.3