website annotate en/doc/handbook/network-config.html @ rev 321

en: Tidy up network-config
author Paul Issott <paul@slitaz.org>
date Sun Mar 22 19:54:20 2009 +0000 (2009-03-22)
parents 3f48fafb5633
children 3cc0ac292e95
rev   line source
paul@15 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
paul@15 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
paul@15 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
paul@15 4 <head>
paul@15 5 <title>SliTaz Handbook - Network configuration</title>
paul@15 6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
paul@15 7 <meta name="description" content="slitaz English handbook network config pppoe ppp eth dhcp" />
paul@15 8 <meta name="expires" content="never" />
paul@321 9 <meta name="modified" content="2009-03-22 18:30:00" />
paul@15 10 <meta name="publisher" content="www.slitaz.org" />
paul@15 11 <meta name="author" content="Paul Issot, Christophe Lincoln"/>
paul@15 12 <link rel="shortcut icon" href="favicon.ico" />
paul@15 13 <link rel="stylesheet" type="text/css" href="book.css" />
paul@15 14 </head>
paul@15 15 <body bgcolor="#ffffff">
paul@15 16
paul@15 17 <!-- Header and quick navigation -->
paul@15 18 <div id="header">
paul@15 19 <div align="right" id="quicknav">
paul@15 20 <a name="top"></a>
paul@63 21 <a href="system-admin.html">System administration</a> |
paul@15 22 <a href="index.html">Table of contents</a>
paul@15 23 </div>
paul@15 24 <h1><font color="#3E1220">SliTaz Handbook (en)</font></h1>
paul@15 25 </div>
paul@15 26
paul@15 27 <!-- Content. -->
paul@15 28 <div id="content">
paul@15 29 <div class="content-right"></div>
paul@15 30
paul@15 31 <h2><font color="#DF8F06">Network configuration</font></h2>
paul@15 32
paul@15 33 <ul>
paul@321 34 <li><a href="#about">About the Network.</a></li>
paul@321 35 <li><a href="#netbox">Netbox</a> - Configure the network.</li>
paul@321 36 <li><a href="#wifibox">Wifibox</a> - Configure wireless networks.</li>
paul@321 37 <li><a href="#driver">Install network card driver</a> - Find and load
paul@321 38 Kernel modules.</li>
paul@321 39 <li><a href="#hostname">/etc/hostname</a> - Hostname.</li>
paul@321 40 <li><a href="#pppoe">PPPoE kernel-mode</a> - Dial-up modem connection
paul@321 41 in Kernel mode.</li>
paul@15 42 <li><a href="#rp-pppoe">PPPoE with rp-pppoe</a> - Dial-up modem.</li>
paul@64 43 <li><a href="#firewall">Firewall</a> - Manage the Firewall (Iptables).</li>
paul@15 44 </ul>
paul@15 45
paul@321 46 <a name="about"></a>
paul@314 47 <h3>About the Network</h3>
paul@15 48 <p>
paul@15 49 By default SliTaz starts a DHCP client (udhcpc) on eth0 at boot time. If your
paul@15 50 network card has been identified as an <code>eth0</code> interface and you use
paul@15 51 a router, your connection should already be working. DHCP is dynamically
paul@15 52 configured, on each boot the client asks for a new IP address from
paul@15 53 the DHCP server, which is integrated into the router, or on another computer.
paul@15 54 If you need a static IP, you can directly edit config files or use the GUI
paul@321 55 <code>netbox</code> available from the System menu --&gt; System tools.
paul@321 56 In a terminal or a Linux console, you can list all available network
paul@321 57 interfaces with the command <code>ifconfig</code> followed by the
paul@321 58 <code>-a</code> option:
paul@15 59 </p>
paul@15 60 <pre>
paul@15 61 $ ifconfig -a
paul@15 62 </pre>
paul@15 63 <p>To display the Kernel's IP routing table, you can use the <code>route</code> command
paul@15 64 without any arguments:
paul@15 65 </p>
paul@15 66 <pre>
paul@15 67 $ route
paul@15 68 </pre>
paul@15 69 <p>
MikeDSmith25@117 70 The system wide network configuration file is <code>/etc/network.conf</code>.
MikeDSmith25@117 71 It can be graphically configured with <code>netbox</code> or directly edited by
paul@15 72 the root administrator.
paul@15 73 </p>
paul@15 74
paul@314 75 <a name="netbox"></a>
paul@321 76 <h3>Netbox - Configure the network</h3>
paul@314 77 <p>
paul@314 78 Netbox is a small GTK+ application to configure a network interface using
paul@314 79 DCHP or a fixed (static) IP address. The tabs can be used to start/stop the
paul@314 80 connections and automatically change the values in the system files. Netbox
paul@321 81 provides a system wide tab from which you can directly edit network
paul@321 82 configuration files, and tabs to configure PPP/PPPoE username/passwords.
paul@321 83 Servers such as SSH, DHCP, PXE, DNS, etc can also be configured and it's
paul@321 84 possible to create your own virtual private network (VPN) using the tools
paul@321 85 provided.
paul@314 86 </p>
paul@314 87
paul@314 88 <img
paul@314 89 src="images/screenshots/netbox.png"
paul@314 90 alt="Slitaz Netbox"
paul@314 91 style="width: 536px; height: 357px;" />
paul@314 92
paul@314 93 <p>
paul@321 94 You can start netbox from the System tools menu or via a terminal:
paul@314 95 </p>
paul@314 96 <pre>
paul@314 97 $ subox netbox
paul@314 98 </pre>
paul@314 99
paul@314 100 <a name="wifibox"></a>
paul@321 101 <h3>Wifibox - Graphical configuration of the wireless network</h3>
paul@314 102 <p>
paul@314 103 Wifibox is small interface to configure a network connection (Wifi,
paul@314 104 WLAN, or Wireless). The 'Networks' tab displays a list of available
paul@314 105 networks, just double click on a network name to connect. If the network
paul@314 106 is secure, the key will then be sought.
paul@314 107 </p>
paul@314 108
paul@314 109 <img
paul@314 110 src="images/screenshots/wifibox.png"
paul@314 111 alt="SliTaz Wifibox"
paul@314 112 style="width: 533px; height: 330px;" />
paul@314 113
paul@314 114 <p>
paul@314 115 The 'Favorites' tab allows you to set your preferred networks. Once a
paul@314 116 network is added, just double click on the network name to connect. The
paul@314 117 'Configuration' tab lets you configure a connection manually using the
paul@314 118 advanced settings such as the mode or channel. The 'Drivers' tab allows
paul@314 119 you to configure a network card; there are 3 options:
paul@314 120 </p>
paul@314 121 <ol>
paul@314 122 <li>The card is supported directly by the kernel via a module.</li>
paul@314 123 <li>The card needs a module and non-free firmware that can be installed
paul@321 124 automatically via the auto-detect tool (tazhw).</li>
paul@314 125 <li> The card is not supported by Linux and a Windows driver must be
paul@321 126 installed via the Windows driver manager (tazndis).</li>
paul@314 127 </ol>
paul@314 128
paul@15 129 <a name="driver"></a>
paul@15 130 <h3>Install network card driver</h3>
paul@15 131 <p>
MikeDSmith25@117 132 In case you need a network card driver and don't know the driver name, you can
paul@15 133 use the command <code>lspci</code> to find your card and then <code>modprobe</code>
paul@15 134 to load a module. In Live mode you can use the SliTaz boot option
paul@15 135 <code>modprobe=modules</code> to automatically load Kernel modules. To get a
paul@15 136 list of all available network card drivers, display PCI eth cards and load a
paul@15 137 module:
paul@15 138 </p>
paul@15 139 <pre>
paul@15 140 # modprobe -l | grep drivers/net
paul@15 141 # lspci | grep [Ee]th
paul@15 142 # modprobe -v module_name
paul@15 143 </pre>
paul@15 144 <p>
paul@15 145 On an installed system you just need to add the module_name to the variable
paul@15 146 <code>LOAD_MODULES </code> in <code>/etc/rcS.conf</code> to load your module
paul@15 147 on each boot.
paul@15 148 </p>
paul@15 149
paul@314 150 <a name="hostname"></a>
paul@321 151 <h3>/etc/hostname - The hostname</h3>
paul@63 152 <p>
paul@314 153 The file /etc/hostname sets the machine name. This is loaded at system
paul@314 154 startup with the command 'hostname', without an argument this
paul@314 155 command returns the current machine name:
paul@63 156 </p>
paul@63 157 <pre>
paul@314 158 $ hostame
paul@314 159 </pre>
paul@314 160 <p>
paul@314 161 To change the hostname, you can use the <code>echo</code> command or a text
paul@314 162 editor available on SliTaz (you must be root). Example using <code>echo </code>
paul@314 163 and the machine name <code>kayam</code>:
paul@314 164 </p>
paul@314 165 <pre>
paul@314 166 # echo "kayam" > /etc/hostname
paul@63 167 </pre>
paul@63 168
paul@15 169 <a name="pppoe"></a>
paul@321 170 <h3>PPPoE connection kernel-mode</h3>
paul@15 171 <p>
paul@15 172 PPPoE connection in kernel-mode needs 2 files. The first file is
paul@15 173 <code>/etc/ppp/options</code> where you must specify your login name:
paul@15 174 </p>
paul@15 175 <pre class="script">
paul@15 176 plugin rp-pppoe.so
paul@15 177 name &lt;your provider connection ID&gt;
paul@15 178 noipdefault
paul@15 179 defaultroute
paul@15 180 mtu 1492
paul@15 181 mru 1492
paul@15 182 lock
paul@15 183 </pre>
paul@15 184 <p>
paul@15 185 Now you have to configure /etc/ppp/pap-secrets or /etc/ppp/chap-secrets:
paul@15 186 </p>
paul@15 187 <pre class="script">
paul@15 188 # client server secret IP addresses
paul@15 189 "your_login" * "your_password"
paul@15 190 </pre>
paul@15 191 <p>
paul@15 192 The config file /etc/resolv.conf will be automatically loaded up. Finished, you can
paul@15 193 now connect to the internet with <code>pppd</code>:
paul@15 194 </p>
paul@15 195 <pre>
paul@15 196 pppd eth0
paul@15 197 </pre>
paul@15 198 <p>
paul@15 199 On an installed system you can start pppd on each boot using the local startup
paul@15 200 script: <code>/etc/init.d/local.sh</code>
paul@15 201 </p>
paul@15 202
paul@15 203 <a name="rp-pppoe"></a>
paul@321 204 <h3>Enable Dial-up Modem - PPPoE with rp-pppoe</h3>
paul@15 205 <p>
MikeDSmith25@117 206 To set an ASDL protocol via PPPoE, SliTaz provides the utilities
paul@15 207 package <code>rp-pppoe</code>. Using <code>pppoe-setup</code> is a snap and you
paul@15 208 can quickly configure the network. If you use DCHP it's even easier, because
paul@15 209 the server from your ISP will take care of everything. If you do not have DHCP,
MikeDSmith25@117 210 you must first disable its use via <code>DHCP="no"</code> from the
paul@15 211 configuration file <code>/etc/network.conf</code>. It should be noted that to
MikeDSmith25@117 212 modify configuration files and system logs you must first become <code>root</code>.
paul@15 213 To install and change the variable DHCP with Nano (ctrl + x to save &amp; exit):
paul@15 214 </p>
paul@15 215 <pre>
paul@15 216 $ su
paul@15 217 # tazpkg get-install rp-pppoe
paul@15 218 # nano /etc/network.conf
paul@15 219 </pre>
paul@15 220 <h4>Configure with pppoe-setup</h4>
paul@15 221 <p>
paul@15 222 To begin to configure your PPPoE connection, you must first open an Xterm or
MikeDSmith25@117 223 Linux console and launch <code>pppoe-setup</code> and then begin to answer
paul@15 224 the following questions:
paul@15 225 </p>
paul@15 226 <pre>
paul@15 227 # pppoe-setup
paul@15 228 </pre>
paul@15 229 <ol>
paul@15 230 <li>Enter your username, please note that this is the username with which you
paul@15 231 communicate with your ISP.</li>
paul@15 232 <li>Internet interface, default is eth0 unless you have more than one,
paul@156 233 in which case you will have eth1, eth2, etc. Usually the Enter key is
paul@15 234 sufficient.</li>
paul@15 235 <li>If you have a permanent ASDL link answer
MikeDSmith25@117 236 <strong>yes</strong>, otherwise answer <strong>no</strong> (default).</li>
MikeDSmith25@117 237 <li>Specify the primary and secondary DNS your ISP uses (you may have to ask).</li>
paul@15 238 <li>Enter the password with which you communicate with your ISP (you need
MikeDSmith25@117 239 to enter it twice).</li>
MikeDSmith25@117 240 <li>Choose the firewall settings depending on your hardware. If you
paul@15 241 have a router you can enter 1 or 2. If in doubt enter 1.</li>
paul@15 242 </ol>
paul@15 243 <h4>Start and Stop the connection</h4>
paul@15 244 <p>
paul@15 245 Still using the command line, simply type <code>pppoe-start</code> to start
paul@15 246 the connection. A few seconds later the system tells you that it is connected.
paul@159 247 If it gives you a message like TIMED OUT, you may have poorly configured or
paul@15 248 the connection is defective. Please check the wiring and repeat the installation
paul@15 249 from the beginning. To start the connection:
paul@15 250 </p>
paul@15 251 <pre> # pppoe-start
paul@15 252 </pre>
paul@15 253 <p>
paul@129 254 To stop the connection, you can type
paul@128 255 <code>pppoe-stop</code>.
paul@15 256 </p>
paul@15 257
paul@15 258 <a name="firewall"></a>
paul@321 259 <h3>Manage the Firewall (<em>firewall</em>) using Iptables</h3>
paul@15 260 <p>
paul@15 261 SliTaz provides a very basic firewall, the kernel security rules are launched
paul@15 262 at boot time and iptables rules are disabled by default. You can
paul@15 263 activate/disable these at startup by using the configuration file:
paul@15 264 /etc/firewall.conf.
paul@15 265 </p>
paul@15 266 <p>
paul@155 267 The default <em>firewall</em> script begins with its own set options for the
paul@15 268 Kernel ie. ICMP redirects, source routing, logs for unresolved addresses and
paul@15 269 spoof filters. The script then launches the rules defined in the
paul@15 270 <code>iptables_rules()</code> function of the configuration file:
paul@15 271 /etc/firewall.conf.
paul@15 272 </p>
paul@15 273 <p>
paul@15 274 The <em>firewall</em> uses Iptables, it consists of two files, the
paul@15 275 /etc/firewall.conf and /etc/init.d/firewall, you shouldn't need to modify
paul@15 276 these. Note Iptables has lots of options, for more infomation see the official
paul@15 277 documentation available online:
paul@15 278 <a href="http://www.netfilter.org/documentation/">www.netfilter.org/documentation/</a>.
paul@15 279 </p>
paul@15 280 <h4>Start, stop, restart the firewall</h4>
paul@15 281 <p>
paul@15 282 The script /etc/init.d/firewall lets you start/restart, stop or display the
paul@15 283 status of the firewall. The restart option is often used to test new rules
paul@15 284 after editing the configuration file. Example:
paul@15 285 </p>
paul@15 286 <pre>
paul@15 287 # /etc/init.d/firewall restart
paul@15 288 </pre>
paul@15 289 <h4>Enable/Disable the firewall at boot</h4>
paul@15 290 <p>
MikeDSmith25@117 291 To enable/disable options specific to the Kernel place "yes"
paul@15 292 or "no" in the variable KERNEL_SECURITY= :
paul@15 293 </p>
paul@15 294 <pre class="script">
paul@15 295 # Enable/disable kernel security at boot time.
paul@15 296 KERNEL_SECURITY="yes"
paul@15 297 </pre>
paul@15 298 <p>
paul@15 299 and to activate/deactivate the iptables rules, it is necessary to modify the
paul@15 300 variable IPTABLES_RULES= :
paul@15 301 </p>
paul@15 302 <pre class="script">
paul@15 303 # Enable/disable iptables rules.
paul@15 304 IPTABLES_RULES="yes"
paul@15 305 </pre>
paul@15 306 <h4>Add, delete or modify the iptables rules</h4>
paul@15 307 <p>
MikeDSmith25@117 308 At the bottom of the configuration file: /etc/firewall.conf, you will find a
MikeDSmith25@117 309 function named: <code>iptables_rules()</code>. This function contains all of
MikeDSmith25@117 310 the iptables commands to launch when the firewall starts. To delete a rule, It
MikeDSmith25@117 311 is advisable to comment out the corresponding line with a <code>#</code>. It is
MikeDSmith25@117 312 <em>not</em> advisable to leave the function completely empty, if you want to disable the
paul@15 313 iptables rules just add "no" to the variable IPTABLES_RULES= in the
paul@15 314 configuration file.
paul@15 315 </p>
paul@15 316 <p>
MikeDSmith25@117 317 Here's an example of using iptables rules. It only allows connections on the
MikeDSmith25@117 318 localhost and the local network, and ports 80, 22, and 21 used by the web server
MikeDSmith25@117 319 HTTP, the SSH secure server and FTP respectively. All other incoming and
MikeDSmith25@117 320 outgoing connections are refused, so it's fairly restrictive.
paul@15 321 </p>
paul@15 322 <pre class="script">
paul@15 323 # Netfilter/iptables rules.
MikeDSmith25@117 324 # This shell function is included in /etc/init.d/firewall.sh
paul@15 325 # to start iptables rules.
paul@15 326 #
paul@15 327 iptables_rules()
paul@15 328 {
paul@15 329
MikeDSmith25@117 330 # Drop all connections.
paul@15 331 iptables -P INPUT DROP
paul@15 332 iptables -P OUTPUT DROP
paul@15 333
paul@15 334 # Accept all on localhost (127.0.0.1).
paul@15 335 iptables -A INPUT -i lo -j ACCEPT
paul@15 336 iptables -A OUTPUT -o lo -j ACCEPT
paul@15 337
paul@15 338 # Accept all on the local network (192.168.0.0/24).
paul@15 339 iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
paul@15 340 iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
paul@15 341
paul@15 342 # Accept port 80 for the HTTP server.
paul@15 343 iptables -A INPUT -i $INTERFACE -p tcp --sport 80 -j ACCEPT
paul@15 344 iptables -A OUTPUT -o $INTERFACE -p tcp --dport 80 -j ACCEPT
paul@15 345
paul@15 346 # Accept port 22 for SSH.
paul@15 347 iptables -A INPUT -i $INTERFACE -p tcp --dport 22 -j ACCEPT
paul@15 348 iptables -A OUTPUT -o $INTERFACE -tcp --sport 22 -j ACCEPT
paul@15 349
paul@15 350 # Accept port 21 for active FTP connections.
paul@15 351 iptables -A INPUT -i $INTERFACE -p tcp --dport 21 -j ACCEPT
paul@15 352 iptables -A OUTPUT -i $INTERFACE -p tcp --sport 21 -j ACCEPT
paul@15 353
paul@15 354 }
paul@15 355
paul@15 356 </pre>
paul@15 357
paul@15 358 <!-- End of content -->
paul@15 359 </div>
paul@15 360
paul@15 361 <!-- Footer. -->
paul@15 362 <div id="footer">
paul@15 363 <div class="footer-right"></div>
paul@15 364 <a href="#top">Top of the page</a> |
paul@15 365 <a href="index.html">Table of contents</a>
paul@15 366 </div>
paul@15 367
paul@15 368 <div id="copy">
paul@15 369 Copyright &copy; 2008 <a href="http://www.slitaz.org/en/">SliTaz</a> -
paul@15 370 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
paul@15 371 Documentation is under
paul@15 372 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
paul@15 373 and code is <a href="http://validator.w3.org/">valid xHTML 1.0</a>.
paul@15 374 </div>
paul@15 375
paul@15 376 </body>
paul@15 377 </html>
paul@15 378