summaryrefslogtreecommitdiffstats
path: root/chapter_15.xml
diff options
context:
space:
mode:
authorAlan Hicks <alan@lizella.net>2010-05-01 14:17:18 -0400
committerAlan Hicks <alan@lizella.net>2010-05-01 14:17:18 -0400
commitdbca998ce52d78ce5e525e0d799adc83d580f66a (patch)
treec2a5ee10d4e488f77354f12e4c76a64615b94890 /chapter_15.xml
parent8ec49bb2c5d0fd2d3ee8dd519e783002f3c8f9ec (diff)
downloadslackbook-dbca998ce52d78ce5e525e0d799adc83d580f66a.tar.xz
Making room for new chapter and a few minor modifications.
Diffstat (limited to 'chapter_15.xml')
-rw-r--r--chapter_15.xml791
1 files changed, 240 insertions, 551 deletions
diff --git a/chapter_15.xml b/chapter_15.xml
index 3a16ac9..c3b6d8a 100644
--- a/chapter_15.xml
+++ b/chapter_15.xml
@@ -3,644 +3,333 @@
"/usr/share/xml/docbook/xml-dtd-4.5/docbookx.dtd">
<chapter>
-<title>Basic Networking Utilities</title>
-
-<para>
-So you've finally managed to setup your network connection, now what?
-How do you know that it's working? How do you know that you set it up
-correctly? And just what do you do now that it's setup? Well this
-chapter is for you.
-</para>
-
-<section>
-<title>Network Diagnostic Tools</title>
-
-<para>
-Slackware Linux includes a great many networking tools for
-troubleshooting and diagnosing network connection troubles, or just for
-seeing what's out there on the network. Most of these tools are
-command-line tools, so you can run them from a virtual terminal or in a
-console window on your graphical desktop. A few of them even have
-graphical front-ends, but we're going to deal almost exclusively with
-command-line tools for now.
-</para>
+<title>Wireless Networking</title>
<section>
-<title>ping</title>
+<title><application>iwconfig</application></title>
<para>
-<application>ping</application>(8) is a handy tool for determining if a
-computer is operational on your network or on the Internet at large.
-You can think of as a type of sonar for computers. By using it, you
-send out a "ping" and listen for an echo to determine if another
-computer or network device is listening. By default,
-<application>ping</application> checks for the remote computer once per
-second indefinitely, but you can change the interval between checks and
-the total number of checks easily, just check the man page. You can
-terminate the application at any time with
-<keycap>CTRL</keycap>-<keycap>c</keycap>. When
-<application>ping</application> is finished, it displays a handy
-summary of its activity. <application>ping</application> is very useful
-for determining if a computer on your network or the Internet is
-available, but some systems block the packets
-<application>ping</application> sends, so sometimes a system may be
-functioning properly, but still not send replies.
+Wireless networking is somewhat more complicated than traditional wired
+networking, and requires additional tools for setup. Slackware includes
+a diverse collection of wireless networking tools to allow you to
+configure your wireless network interface card (WNIC) at the most basic
+level. We won't cover everything here, but should give you a solid
+foundation to get up and running quickly. The first tool we are going
+to look at is <application>iwconfig</application>(8). When run without
+any argument, <application>iwconfig</application> displays the current
+wireless information on any and all NICs on your computer.
</para>
-<screen><prompt>darkstar:~# </prompt><userinput>ping -c 3 www.slackware.com</userinput>
-64 bytes from slackware.com (64.57.102.34): icmp_seq=1 ttl=47 time=87.1 ms
-64 bytes from slackware.com (64.57.102.34): icmp_seq=2 ttl=47 time=86.2 ms
-64 bytes from slackware.com (64.57.102.34): icmp_seq=3 ttl=47 time=86.7 ms
-
---- slackware.com ping statistics ---
-3 packets transmitted, 3 received, 0% packet loss, time 2004ms
-rtt min/avg/max/mdev = 86.282/86.718/87.127/0.345 ms
-</screen>
+<screen><prompt>darkstar:~# </prompt><userinput>iwconfig</userinput>
+lo no wireless extensions.
-</section>
+eth0 no wireless extensions.
-<section>
-<title>traceroute</title>
+wmaster0 no wireless extensions.
-<para>
-<application>traceroute</application>(8) is a handy tool for determining
-what route your packets take to reach some other computer. It's mainly
-of use for determining which computers are "near" or "far" from you.
-This distance isn't strictly geographical, as your Internet Service
-Provider may route traffic from your computer in strange ways.
-<application>traceroute</application> shows you each router between
-your computer and any other machine you wish to connect to.
-Unfortunately, many providers, firewalls, and routers will block
-<application>traceroute</application> so you might not get a complete
-picture when using it. Still, it remains a handy tool for network
-troubleshooting.
-</para>
+wlan0 IEEE 802.11abgn ESSID:"nest"
+ Mode:Managed Frequency:2.432 GHz Access Point:
+00:13:10:EA:4E:BD
+ Bit Rate=54 Mb/s Tx-Power=17 dBm
+ Retry min limit:7 RTS thr:off Fragment thr=2352 B
+ Encryption key:off
+ Power Management:off
+ Link Quality=100/100 Signal level:-42 dBm
+ Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
+ Tx excessive retries:0 Invalid misc:0 Missed beacon:0
-<screen><prompt>darkstar:~# </prompt><userinput>traceroute www.slackware.com</userinput>
-traceroute to slackware.com (64.57.102.34), 30 hops max, 46 byte
-packets
- 1 gw.ctsmacon.com (192.168.1.254) 1.468 ms 2.045 ms 1.387 ms
- 2 10.0.0.1 (10.0.0.1) 7.642 ms 8.019 ms 6.006 ms
- 3 68.1.8.49 (68.1.8.49) 10.446 ms 9.739 ms 7.003 ms
- 4 68.1.8.69 (68.1.8.69) 11.564 ms 6.235 ms 7.971 ms
- 5 dalsbbrj01-ae0.r2.dl.cox.net (68.1.0.142) 43.859 ms 43.287 ms
-44.125 ms
- 6 dpr1-ge-2-0-0.dallasequinix.savvis.net (204.70.204.146) 41.927 ms
-58.247 ms 44.989 ms
- 7 cr2-tengige0-7-5-0.dallas.savvis.net (204.70.196.29) 42.577 ms
-46.110 ms 43.977 ms
- 8 cr1-pos-0-3-3-0.losangeles.savvis.net (204.70.194.53) 78.070 ms
-76.735 ms 76.145 ms
- 9 bpr1-ge-3-0-0.LosAngeles.savvis.net (204.70.192.222) 77.533 ms
-108.328 ms 120.096 ms
-10 wiltel-communications-group-inc.LosAngeles.savvis.net
-(208.173.55.186) 79.607 ms 76.847 ms 75.998 ms
-11 tg9-4.cr01.lsancarc.integra.net (209.63.113.57) 84.789 ms 85.436
-ms 85.575 ms
-12 tg13-1.cr01.sntdcabl.integra.net (209.63.113.106) 87.608 ms
-84.278 ms 86.922 ms
-13 tg13-4.cr02.sntdcabl.integra.net (209.63.113.134) 87.284 ms
-85.924 ms 86.102 ms
-14 tg13-1.cr02.rcrdcauu.integra.net (209.63.114.169) 85.578 ms
-85.285 ms 84.148 ms
-15 209.63.99.166 (209.63.99.166) 84.515 ms 85.424 ms 85.956 ms
-16 208.186.199.158 (208.186.199.158) 86.557 ms 85.822 ms 86.072 ms
-17 sac-main.cwo.com (209.210.78.20) 88.105 ms 87.467 ms 87.526 ms
-18 slackware.com (64.57.102.34) 85.682 ms 86.322 ms 85.594 ms
+tun0 no wireless extensions.
</screen>
-</section>
-
-<section>
-<title>telnet</title>
-
-<para>
-Once upon a time, <application>telnet</application>(1) was the greatest
-thing since sliced bread. Basically, <application>telnet</application>
-opens an unencrypted network connection between two computers and hands
-control of the session to the user rather than some other application.
-Using <application>telnet</application>, people could connect to shells
-on other computers and execute commands as if they were physically
-present. Due to its unencrypted nature this is no longer recommended;
-however, <application>telnet</application> is still used for this
-purpose by many devices.
-</para>
<para>
-Today, <application>telnet</application> is put to better use as a
-network diagnostic tool. Because it passes control of the session
-directly to the user, it can be used for a great variety of testing
-purposes. As long as you know what ASCII commands to send to the
-receiving computer, you can do any number of activies, such as read web
-pages or check your e-mail. Simply inform
-<application>telnet</application> what network port to use, and you're
-all set.
+Unlike wired networks, wireless networks are "fuzzy". Their borders are
+hard to define, and multiple networks may overlap one another. In order
+to avoid confusion, each wireless network has (hopefully) unique
+identifiers. The two most basic identifiers are the Extended Service
+Set Identifier (ESSID) and the channel or frequency for radio
+transmission. The ESSID is simply a name that identifies the wireless
+network in question; you may have heard it referred to as the network
+name or something similar. Typical wireless networks operate on 11
+different frequencies. In order to connect to even the most basic
+wireless network, you will have to setup these two pieces of
+information, and possibly others, before setting up things like the
+WNIC's IP address. Here you can see that my ESSID is set to "nest" and
+my laptop is transmitting at 2.432 GHz. This is all that is required to
+connect to an unencrypted wireless LAN. (For any of you out there
+expecting to come to my house and use my unencrypted wireless, you
+should know that you'll have to break a 2048-bit SSL key before the
+access point will let you communicate with my LAN.)
</para>
-<screen><prompt>darkstar:~# </prompt><userinput>telnet www.slackware.com 80</userinput>
-Trying 64.57.102.34...
-Connected to www.slackware.com.
-Escape character is '^]'.
-<userinput>HEAD / HTTP/1.1
-Host: www.slackware.com
-</userinput>
-HTTP/1.1 200 OK
-Date: Thu, 04 Feb 2010 18:01:35 GMT
-Server: Apache/1.3.27 (Unix) PHP/4.3.1
-Last-Modified: Fri, 28 Aug 2009 01:30:27 GMT
-ETag: "61dc2-5374-4a973333"
-Accept-Ranges: bytes
-Content-Length: 21364
-Content-Type: text/html
-</screen>
-
-</section>
-
-<section>
-<title>ssh</title>
+<screen><prompt>darkstar:~# </prompt><userinput>iwconfig wlan0 essid nest \
+ freq 2.432G</userinput></screen>
<para>
-As we mentioned, <application>telnet</application> may be useful as a
-diagnostic tool, but its unencrypted nature makes it a security concern
-for shell access. Thankfully, there's the secure shell protocol. Nearly
-every Linux, UNIX, and BSD distribution today makes use of OpenSSH, or
-<application>ssh</application>(1) for short. It is one of the most
-commonly used network tools today and makes use of the strongest
-cryptographic techniques. <application>ssh</application> has many
-features, configuration options, and neat hacks, enough to fill its own
-book, so we'll only go into the basics here. Simply run
-<application>ssh</application> with the user name and the host and
-you'll be connected to it quickly and safely. If this is the first time
-you are connecting to this computer, <application>ssh</application>
-will ask you to confirm your desire, and make a local copy of the
-encryption key to use. Should this key later change,
-<application>ssh</application> will warn you and refuse to connect
-because it is possible that some one is attempting to hijack the
-connection using what is known as a man-in-the-middle attack.
+The <arg>freq</arg> and <arg>channel</arg> arguments control basically
+the same thing. You only need to use one. If you are unsure what
+frequency or channel to use, Slackware can usually figure this out for
+you.
</para>
-<screen><prompt>darkstar:~# </prompt><userinput>ssh alan@slackware.com</userinput>
-alan@slackware.com's password: <userinput>secret</userinput>
-<prompt>alan@slackware.com:~$ </prompt>
-</screen>
+<screen><prompt>darkstar:~# </prompt><userinput>iwconfig wlan0 essid nest \
+ channel auto</userinput></screen>
<para>
-The user and hostname are in the same form used by e-mail addresses.
-If you leave off the username part, <application>ssh</application> will
-use your current username when establishing the connection.
+Now Slackware will attempt to connect to the strongest access point on
+the "nest" essid operating at any frequency.
</para>
</section>
<section>
-<title>tcpdump</title>
+<title>Wired Equivilant Protection (or Lack Thereof)</title>
<para>
-So far all the tools we've looked at have focused on making connections
-to other computers, but now we're going to look at the traffic itself.
-<application>tcpdump</application>(1) (which must be run as root)
-allows us to view all or part of the network traffic originating or
-received by our computer. <application>tcpdump</application> displays
-the raw data packets in a variety of ways with all the network headers
-intact. Don't be alarmed if you don't understand everything it
-displays, <application>tcpdump</application> is a tool for professional
-network engineers and system administrators. By default, it probes the
-first network card it finds, but if you have multiple interfaces,
-simply use the <arg>-i</arg> argument to specify which one you're
-interested in. You can also limit the data displayed using expressions
-and change the manner in which it is displayed, but that is best
-explained by the man page and other reference material.
+Wireless networking is by its very nature less secure than wired
+networking. Having your information travelling on the airwaves makes it
+highly susceptible to interception by third paries, so over the years a
+number of methods have been devised to make wireless networking more
+secure. The first was called Wired Equivilant Protection, or WEP for
+short, and well far short of its goal. If you are still using WEP
+today, I encourage you to consider using WPA2 or some other form of
+stronger encryption. Attacks against WEP are trivial and take only
+minutes to perform. Unfortunately there are still access points
+configured for WEP, and you may need to connect to one from time to
+time. Connecting to WEP encrypted access points is fairly simple,
+particularly if you have the key in hexidecimal format. We'll need to
+pass the <arg>key</arg> argument along with the password in hexidecimal
+or ASCII format. If using an ASCII password, you'll need to prepend it
+with "s:"; here's a couple examples. Generally speaking, hexidecimal
+format is prefered.
</para>
-<screen><prompt>darkstar:~# </prompt><userinput>tcpdump -i wlan0</userinput>
-tcpdump: verbose output suppressed, use -v or -vv for full protocol
-decode
-listening on wlan0, link-type EN10MB (Ethernet), capture size 96 bytes
-13:22:28.221985 IP gw.ctsmacon.com.microsoft-ds > 192.168.1.198.59387:
-Flags [P.], ack 838190560, win 3079, options [nop,nop,TS val 1382697489
-ecr 339048583], length 164WARNING: Short packet. Try increasing the
-snap length by 140
-SMB PACKET: SMBtrans2 (REPLY)
-
-13:22:28.222392 IP 192.168.1.198.59387 > gw.ctsmacon.com.microsoft-ds:
-Flags [P.], ack 164, win 775, options [nop,nop,TS val 339048667 ecr
-1382697489], length 134WARNING: Short packet. Try increasing the snap
-length by 110
-SMB PACKET: SMBtrans2 (REQUEST)
+<screen><prompt>darkstar:~# </prompt><userinput>iwconfig wlan0 \
+ key cf80baf8bf01a160de540bfb1c</userinput>
+<prompt>darkstar:~# </prompt><userinput>iwconfig wlan0 \
+ key s:thisisapassword</userinput>
</screen>
</section>
<section>
-<title>nmap</title>
-
-<para>
-Suppose you need to know what network services are running on a
-machine, or multiple machines, or you wish to determine if multiple
-machines are responsive? You could <application>ping</application>
-each one individually, <application>telnet</application> to each port
-you're interested in, and note every detail, but that's very tedious
-and time consuming. A much easier alternative is to use a port scanner,
-and <application>nmap</application>(1) is just the tool for the job.
-<application>nmap</application> is capable of scanning TCP and UDP
-ports, determining the operating system of a network device, probing
-each located service to determine its specific type, and much much
-more. Perhaps the simplist way to use <application>nmap</application>
-is to "ping" multiple computers at once. You can use network address
-notation (CIDR) or specify a range of addresses and
-<application>nmap</application> will scan every one and return the
-results to you when it's finished. You can even specify host names as
-you like.
-</para>
+<title>Wifi Protected Access</title>
<para>
-In order to "ping" hosts, you'll have to use the <arg>-sP</arg>
-argument. The following command instructs
-<application>nmap</application> to "ping" www.slackware.com and the 16
-IP addresses starting at 72.168.24.0 and ending at 72.168.24.15.
+Wifi Protected Access (or WPA for short) was the successor for WEP that
+aimed to fix several problems with wireless encryption. Unfortunately,
+WPA had some flaws as well. An update called WPA2 offers even stronger
+protection. At this time, WPA2 is supported by nearly all wireless
+network cards and access points, but some older devices may only
+support WEP. If you need to secure your wireless network traffic, WPA2
+should be considered the minimum level of protection required.
+Unfortunately, <application>iwconfig</application> is unable to setup
+WPA2 encryption on its own. For that, we need a helper daemon,
+<application>wpa_supplicant</application>(8).
</para>
-<screen><prompt>darkstar:~# </prompt><userinput>nmap -sP www.slackware.com 72.168.24.0/28</userinput>
-</screen>
-
<para>
-Should you need to perform a port scan, <application>nmap</application>
-has many options for doing just that. When run without any arguments,
-<application>nmap</application> performs a standard TCP port scan on all
-hosts specified. There are also options to make
-<application>nmap</application> more or less aggressive with its
-scanning to return results quicker or fool intrusion detection
-services. For a full discussion, you should refer to the rather
-exhaustive man page. The following three commands perform a regular
-port scan, a SYN scan, and a "Christmas tree" scan.
+Unfortunately, there's no easy way to manually configure a WPA2
+protected network; you'll have to edit
+<filename>/etc/wpa_supplicant.conf</filename> directly with a text
+editor. Here we will discuss the simplest form of WPA2 protection, the
+Pre-Shared Key, or PSK for short. For details on setting up Slackware
+to connect to more complicated WPA2 encrypted networks, see the man
+page for <filename>wpa_supplicant.conf</filename>.
</para>
-<screen><prompt>darkstar:~# </prompt><userinput>nmap www.example.com</userinput>
-<prompt>darkstar:~# </prompt><userinput>nmap -sS www.example.com</userinput>
-<prompt>darkstar:~# </prompt><userinput>nmap -sX www.example.com</userinput>
+<screen>
+# /etc/wpa_supplicant.conf
+# ========================
+# This line enables the use of wpa_cli which is used by rc.wireless
+# if possible (to check for successful association)
+ctrl_interface=/var/run/wpa_supplicant
+# By default, only root (group 0) may use wpa_cli
+ctrl_interface_group=0
+eapol_version=1
+ap_scan=1
+fast_reauth=1
+#country=US
+
+# WPA protected network, supply your own ESSID and WPAPSK here:
+network={
+ scan_ssid=1
+ ssid="nest"
+ key_mgmt=WPA-PSK
+ psk="secret passphrase"
+}
</screen>
<para>
-Be warned! Some Internet Service Providers frown heavily on port
-scanning and may take measures to prevent you from doing it.
-<application>nmap</application> and applications like it are best used
-on your own systems for maintenance and security purposes, not as
-general purpose Internet scanners.
+The block of text we're interested in is the network block enclosed by
+curly braces. Here we have set the ssid for the network "nest", as well
+as the PSK to use "secret passphrase". At this point, WPA2 is setup.
+You can run <application>wpa_supplicant</application> and then obtain
+an IP address via DHCP or set a static address. Of course, this is a
+lot of work, there must be an easier way to do this.
</para>
</section>
-</section>
-
-<section><title>Web Browsers</title>
-
-<para>
-Slackware includes a variety of web browsers. If you're using a
-graphical desktop, you'll find Firefox, Seamonkey, and others you may
-already be familiar with, but what about console access? Fortunately,
-there are a number of capable web browsers here as well.
-</para>
-
-<section><title>lynx</title>
-
-<para>
-The oldest console-based web browser included with Slackware is
-definitely <application>lynx</application>(1), a very capable if
-somewhat limited web browser. <application>lynx</application> does not
-support frames, javascript, or pictures; it is strictly a text web
-browser. Navigation is performed using your keyboard's arrow keys and
-optionally, a mouse. While it lacks many features that other browsers
-support, <application>lynx</application> is one of the fastest web
-browsers you'll ever use for gathering information. For example, the
-<arg>-dump</arg> argument sends the formatted web page directly to the
-console, which can then be piped to other programs.
-</para>
-
-<para>
-PIC OF LYNX IN ACTION.
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-</para>
-
-</section>
-
-<section><title>links</title>
-
-<para>
-A more feature-rich alternative is the popular
-<application>links</application>(1), a console-based web browser that
-supports frames and has better table rendering than
-<application>lynx</application>. Like its predecessor,
-<application>links</application> is navigated with the arrow keys, and
-the use of a mouse is supported. Unlike,
-<application>lynx</application> it also includes a handy menu (simply
-click on the top line with your mouse to activate) and generally
-formats web pages better.
-</para>
+<section>
+<title>rc.inet1.conf revisited</title>
<para>
-PIC OF LINKS IN ACTION.
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
-FILL THIS IN!!!!!!!
+Welcome back to <filename>rc.inet1.conf</filename>. You're recall in
+the last chapter that we used this configuration file to automatically
+configure NICs whenever Slackware boots. Now, we will use it to
+configure wifi as well. If you're using WPA2, you'll still need to
+setup <filename>wpa_supplicant.conf</filename> properly first, however.
</para>
-</section>
-
-<section><title>wget</title>
-
<para>
-Unlike the other browsers we've looked at,
-<application>wget</application>(1) is non-interactive. Rather than display
-HTTP content, <application>wget</application> downloads it. This takes
-the "browsing" out of the web browser. Unlike the dump modes of other
-browsers, <application>wget</application> does not format its
-downloads; rather it copies the content in its exact form on the web
-server with all tags and binary data in place. It also supports several
-recursive options that can effectively mirror online content to your
-local computer. <application>wget</application> need not operate
-exclusively on HTTP content; it also supports FTP and several other
-protocols.
+Recall that each NIC had a name or number that identified the variables
+that corrospond with it? The same hold true for wifi NICs, only they
+have even more variables due to the added complexity of wireless
+networking.
</para>
-<screen><prompt>darkstar:~# </prompt><userinput>wget ftp://ftp.osuosl.org/pub/slackware/slackware-current/ChangeLog.txt</userinput>
---2010-05-01 13:51:19--
-ftp://ftp.osuosl.org/pub/slackware/slackware-current/ChangeLog.txt
- => `ChangeLog.txt'
-Resolving ftp.osuosl.org... 64.50.236.52
-Connecting to ftp.osuosl.org|64.50.236.52|:21... connected.
-Logging in as anonymous ... Logged in!
-==> SYST ... done. ==> PWD ... done.
-==> TYPE I ... done. ==> CWD /pub/slackware/slackware-current ... done.
-==> SIZE ChangeLog.txt ... 75306
-==> PASV ... done. ==> RETR ChangeLog.txt ... done.
-Length: 75306 (74K)
-
-100%[======================================>] 75,306 110K/s in 0.7s
-
-2010-05-01 13:51:22 (110 KB/s) - `ChangeLog.txt' saved [75306]
+<screen>
+# rc.inet1.conf (excert)
+# ======================
+## Example config information for wlan0. Uncomment the lines you need and fill
+## in your info. (You may not need all of these for your wireless network)
+IFNAME[4]="wlan0"
+IPADDR[4]=""
+NETMASK[4]=""
+USE_DHCP[4]="yes"
+#DHCP_HOSTNAME[4]="icculus-wireless"
+#DHCP_KEEPRESOLV[4]="yes"
+#DHCP_KEEPNTP[4]="yes"
+#DHCP_KEEPGW[4]="yes"
+#DHCP_IPADDR[4]=""
+WLAN_ESSID[4]="nest"
+#WLAN_MODE[4]=Managed
+#WLAN_RATE[4]="54M auto"
+#WLAN_CHANNEL[4]="auto"
+#WLAN_KEY[4]="D5AD1F04ACF048EC2D0B1C80C7"
+#WLAN_IWPRIV[4]="set AuthMode=WPAPSK | \
+# set EncrypType=TKIP | \
+# set WPAPSK=96389dc66eaf7e6efd5b5523ae43c7925ff4df2f8b7099495192d44a774fda16"
+WLAN_WPA[4]="wpa_supplicant"
+#WLAN_WPADRIVER[4]="ndiswrapper"
</screen>
-</section>
-
-</section>
-
-<section>
-<title>FTP Clients</title>
-
<para>
-Lots of data is stored on FTP servers the world over. In fact,
-Slackware Linux was first publically offered via FTP and continues to
-be distributed in this fashion today. Most open source software can be
-downloaded in source code or binary form via FTP, so knowing how to
-retrieve this information is a handy skill.
+When we discussed wired ethernet, each "n" in the variable corrosponded
+with the "n" in ethn. Here however, that no longer holds true. Notice
+that the variable IFNAME[4] has a value of "wlan0". It is common for
+wireless cards to have an interface name other than "ethn" and that is
+reflected here. When <filename>rc.inet1.conf</filename> is read by the
+start-up scripts, Slackware knows to apply all these options to the
+"wlan0" wifi NIC instead of the (probably non-existant) eth4 wired NIC.
+Many of the other options are the same. IP address information is
+added in exactly the same way we discussed for wired network cards in
+the previous chapter; however, we have a lot of new variables that need
+some explaination.
</para>
-<section><title>ftp</title>
-
<para>
-The simplest FTP client included with Slackware is named simply,
-<application>ftp</application>(1) and is a reliable if somewhat simple
-means of sending and retrieving data. <application>ftp</application>
-connects to an FTP server, asks for your username and password, and
-then allows you to put or get data to and from that server.
-<application>ftp</application> has fallen out of favor with more
-experienced users do to a lack of features, but remains a handy tool,
-and much of the documentation you see online will refer you to it.
+To begin, WLAN_ESSID[n] and WLAN_CHANNEL[n] should be self-explainatory
+by now; they refer the the essid and frequency to use. WLAN_MODE[n] is
+either "managed" or "ad-hoc". Anyone connecting to an access point
+will want to use managed mode. WLAN_KEY[n] is the WEP key to use, if
+you're forced to use WEP. WLAN_IWPRIV[n] is a very complicated
+variable that sets other variables inside itself. WLAN_IWPRIV[n] is
+used for WPA2 networks. Here you tell Slackware what authentication
+mode, encryption type, and key to use for WPA2 connections. Please
+note that WLAN_KEY[n] and WLAN_IWPRIV[n] are mutually exclusive; you
+can't use both on the same interface. If you successfully configure
+all this, then Slackware will attempt to connect to your wireless
+network as soon as the system boots.
</para>
<para>
-Once an FTP session has been initialized, you'll be placed at a prompt
-somewhat like a shell. From here you can change and list directories
-using the "cd" and "ls" commands, just like a shell. Additionally, you
-may issue the "put" command to send a file to the server, or a "get"
-command to retrieve data from the server. If you're connecting to a
-public FTP server, you'll want to use the "anonymous" username and
-simply enter your e-mail address (or a fake one) for the password.
+But wait, that's so much work! And what if I need to connect to
+multiple wireless networks? I take my laptop to work and school and
+need to seemlessly setup those wireless connections as soon as one is
+within range. Doing things this way is simply too much work. You're
+absolutely correct.
</para>
-<screen><prompt>darkstar:~# </prompt><userinput>ftp ftp.osuosl.org</userinput>
-Name (ftp.osuosl.org:alan): <userinput>anonymous</userinput>
-331 Please specify the password.
-Password: <userinput>secret</userinput>
-230 Login successful.
-Remote system type is UNIX.
-Using binary mode to transfer files.
-ftp> <userinput>cd pub/slackware/slackware-current/</userinput>
-250 Directory successfully changed.
-ftp> <userinput>get ChangeLog.txt</userinput>
-local: ChangeLog.txt remote: ChangeLog.txt
-200 PORT command successful. Consider using PASV.
-150 Opening BINARY mode data connection for ChangeLog.txt (33967
-bytes).
-226 File send OK.
-33967 bytes received in 0.351 secs (94 Kbytes/sec)
-ftp> <userinput>bye</userinput>
-221 Goodbye.
-</screen>
-
</section>
-<section><title>ncftp</title>
+<section>
+<title>wicd</title>
<para>
-<application>ncftp</application>(1) (pronounced nick-f-t-p), is a more
-feature rich successor to <application>ftp</application>, supporting
-tab completion and recursive retrieval. It automatically connects to a
-server as the anonymous user, unless you specify a different username
-on the commandline with the <arg>-u</arg> argument. The primary
-advantage over <application>ftp</application> is the ability to send
-and retrieve multiple files at once with the "mput" and "mget"
-commands. If you pass the <arg>-R</arg> argument to either of them,
-they will recursively put or get data from directories.
+Introducing <application>wicd</application>(8), the premier wired and
+wireless network connection manager for the laptop user on the go.
+Pronounced "wicked", <application>wicd</application> is capable of
+storing information for any number of wireless networks you need and
+connecting to them with a simple command or the click of a mouse.
+<application>wicd</application> is not part of the default Slackware
+installation at this time, as it interferes somewhat with the normal
+way of configuring network adapters, but you can find it in the
+<filename>/extra</filename> directory of your Slackware install disks
+or at your favorite mirror. <application>wicd</application> is both a
+network connection daemon and a graphical application for configuring
+networks. The CLI isn't forgotten either, as
+<application>wicd-curses</application>(8) is every bit as powerful as
+the traditional GUI front-end. In order to use
+<application>wicd</application>, you will need to disable support for
+any interfaces you have in <filename>rc.inet1.conf</filename> first.
</para>
-<screen><prompt>darkstar:~# </prompt><userinput>ncftp ftp.osuosl.org</userinput>
-Logging in...
-Login successful.
-Logged in to ftp.osuosl.org.
-ncftp / > <userinput>cd pub/slackware/slackware-current</userinput>
-Directory successfully changed.
-ncftp ...ware/slackware-current > <userinput>mget -R isolinux</userinput>
-isolinux/README.TXT: 4.63 kB 16.77 kB/s
-isolinux/README_SPLIT.TXT: 788.00 B 5.43 kB/s
-isolinux/f2.txt: 793.00 B 5.68 kB/s
-isolinux/initrd.img: 13.75 MB 837.91 kB/s
-isolinux/iso.sort: 50.00 B 354.50 B/s
-isolinux/isolinux.bin: 14.00 kB 33.99 kB/s
-isolinux/isolinux.cfg: 487.00 B 3.30 kB/s
-isolinux/message.txt: 760.00 B 5.32 kB/s
-isolinux/setpkg: 2.76 kB 19.11 kB/s
-ncftp ...ware/slackware-current > <userinput>bye</userinput>
+<screen>
+# rc.inet1.conf
+# =============
+# Config information for eth0:
+IPADDR[0]=""
+NETMASK[0]=""
+USE_DHCP[0]="no"
+DHCP_HOSTNAME[0]=""
+# Default gateway IP address:
+GATEWAY=""
</screen>
-</section>
-
-<section><title>lftp</title>
-
<para>
-The last client we're going to look at is
-<application>lftp</application>(1). Like
-<application>ncftp</application>, it supports tab completion and
-recursive activity, but has a more friendly license. Rather than user
-"mget" and "mput", all recursive operations are handled with the
-"mirror" command. "mirror" has many different options available, so
-I'll have to refer you to the man page and the built-in "help" command
-for complete details.
+Now we can install <application>wicd</application>, setup the daemon to
+run on system boot-up, and begin using a more friendly application.
</para>
-<screen><prompt>darkstar:~# </prompt><userinput>lftp ftp.osuosl.org</userinput>
-lftp ftp.osuosl.org:~> <userinput>cd /pub/slackware/slackware-current</userinput>
-cd ok, cwd=/pub/slackware/slackware-current
-lftp ftp.osuosl.org:/pub/slackware/slackware-current> <userinput>mirror isolinux</userinput>
-Total: 2 directories, 16 files, 1 symlink
-New: 16 files, 1 symlink
-14636789 bytes transferred in 20 seconds (703.7K/s)
-lftp ftp.osuosl.org:/pub/slackware/slackware-current> <userinput>bye</userinput>
+<screen><prompt>darkstar:~# </prompt><userinput>installpkg /path/to/extra/wicd/wicd-1.6.2.1-1.txz</userinput>
+<prompt>darkstar:~# </prompt><userinput>chmod +x /etc/rc.d/rc.wicd</userinput>
+<prompt>darkstar:~# </prompt><userinput>/etc/rc.d/rc.wicd start</userinput>
</screen>
-</section>
-
-</section>
-
-<section>
-<title>NNTP Clients</title>
-
<para>
-Once upon a time when the Internet was young, before the World Wide Web
-was invented and no one had heard of hyperlinks, everyone retrieved
-their news and information through a service known as Usenet using the
-NNTP protocol. It remains today a useful knowledge base of information
-on an incredible variety of subjects, but if you wish to access this
-information, you're going to need a proper client. Slackware includes
-a number of NNTP clients with both console and graphical interfaces,
-but we'll only detail the console tools here. Popular graphical news
-readers include <application>knode</application> and
-<application>pan</application>.
+If you're predominately using the console, simply run
+<application>wicd-curses</application> from your command line. If
+instead, you are using a graphical desktop provided by
+<application>X</application>, you can start the graphical front-end
+from either the KDE or XFCE menu. Optionally, you could manually run
+<application>wicd-client</application>(1) from a terminal or run
+dialogue.
</para>
-<section><title>tin</title>
-
-</section>
-
-<section><title>slrn</title>
-
-</section>
-
-</section>
-
-<section>
-<title>rsync</title>
-
<para>
-Ready to see something cool? Have you ever found yourself needing just
-a handful of files from a large directory, but you're not entirely sure
-which files you already have and which ones you need? You can download
-the entire directory again, but that's duplicating a lot of work. You
-can pick and chose, manually check everything, but that's very tedious.
-Perhaps you've downloaded a large file such as an ISO, but something
-went wrong with the download? It doesn't make sense that you should
-have to pull down the entire file again if only a few bits have been
-corrupted. Enter <application>rsync</application>(1), a fast and
-versatile copying tool for local and remote files.
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
+ADD PICTURES OF WICD-CURSES AND WICD-CLIENT!!!!
</para>
-<para>
-<application>rsync</application> uses a handful of simple, but very
-effective techniques to determine what needs to be changed. By checking
-file size and time stamps, it can determine if two files are different.
-If something has changed, it can determine what bytes are different,
-and simply download that handfull of data rather than an entire file.
-It is truly a marvel of modern technology.
-</para>
-
-<para>
-In its simplist form, <application>rsync</application> connects to an
-rsync protocol server and downloads a list of files and directories,
-along with their sizes, timestamps, and other information. It then
-compares this to the local files (if any) to determine what it needs to
-transfer. Only files that are different will be synced. Additionally,
-it breaks up large files into smaller chunks and compares those chunks
-using a quick and simple hash function. Any chunks that match are not
-transferred, so the amount of data that must be copied can be
-dramatically reduced. <application>rsync</application> also supports
-compression, verbose output, file deletion, permission handling, and
-many other options. For a complete list, you'll need to refer to the
-man page, but I've included a small table of some of the more common
-options.
-</para>
-
-<table pgwide="0">
-<title>rsync Arguments</title>
-<tgroup cols="2">
- <thead>
- <entry>Argument</entry>
- <entry>Explaination</entry>
- </thead>
- <tbody>
- <row>
- <entry>-v</entry>
- <entry>Increased verbosity</entry>
- </row>
- <row>
- <entry>-c</entry>
- <entry>Checksum all files rather than relying on file size and timestamp</entry>
- </row>
- <row>
- <entry>-a</entry>
- <entry>Archive mode (equivilant to -rlptgoD)</entry>
- </row>
- <row>
- <entry>-e</entry>
- <entry>Specify a remote shell to use</entry>
- </row>
- <row>
- <entry>-r</entry>
- <entry>Recursive mode</entry>
- </row>
- <row>
- <entry>-u</entry>
- <entry>Update - skip files that are newer on the receiving end</entry>
- </row>
- <row>
- <entry>-p</entry>
- <entry>Preserve permissions</entry>
- </row>
- <row>
- <entry>-n</entry>
- <entry>Dry-run - perform a trial run without making any changes</entry>
- </row>
- <row>
- <entry>-z</entry>
- <entry>Compress - handy for slow network connections</entry>
- </row>
- </tbody>
-</tgroup>
-</table>
-
-<para>
-Due to the power and versatility of <application>rsync</application>,
-it can be invoked in a number of ways. The following two examples
-connect to an rsync protocol server to retrieve some information and to
-another server via ssh to encrypt the transmission.
-</para>
-
-<screen><prompt>darkstar:~# </prompt><userinput>rsync -avz rsync://ftp.osuosl.org/pub/slackware/slackware-current/ \
-/src/slackware-current/</userinput>
-<prompt>darkstar:~# </prompt><userinput>rsync -e ssh ftp.slackware.com:/home/alan/foo /tmp/foo</userinput>
-</screen>
-
</section>
</chapter>