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

Tidy up Handbook (en) and add Apps
author Paul Issott <paul@slitaz.org>
date Sat Jun 14 14:48:17 2008 +0000 (2008-06-14)
parents b34d650ff817
children 9e30e64c8198
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@15 9 <meta name="modified" content="2008-02-26 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@15 34 <li><a href="#eth">Ethernet connection</a> - DHCP or static IP.</li>
paul@15 35 <li><a href="#driver">Install network card driver</a> - Find and load Kernel
paul@15 36 modules.</li>
paul@63 37 <li><a href="#netbox">Netbox</a> - Configure network.</li>
paul@15 38 <li><a href="#pppoe">PPPoE kernel-mode</a> - Dial-up modem connection in
paul@15 39 Kernel mode.</li>
paul@15 40 <li><a href="#rp-pppoe">PPPoE with rp-pppoe</a> - Dial-up modem.</li>
paul@64 41 <li><a href="#firewall">Firewall</a> - Manage the Firewall (Iptables).</li>
paul@15 42 </ul>
paul@15 43
paul@15 44 <a name="eth"></a>
paul@15 45 <h3>Ethernet connection</h3>
paul@15 46 <p>
paul@15 47 By default SliTaz starts a DHCP client (udhcpc) on eth0 at boot time. If your
paul@15 48 network card has been identified as an <code>eth0</code> interface and you use
paul@15 49 a router, your connection should already be working. DHCP is dynamically
paul@15 50 configured, on each boot the client asks for a new IP address from
paul@15 51 the DHCP server, which is integrated into the router, or on another computer.
paul@15 52 If you need a static IP, you can directly edit config files or use the GUI
paul@15 53 <code>netbox</code> available from JWM menu --&gt; System tools. In a terminal
paul@15 54 or a Linux console, you can list all available network interfaces with the
paul@15 55 command <code>ifconfig</code> followed by the <code>-a</code> option:
paul@15 56 </p>
paul@15 57 <pre>
paul@15 58 $ ifconfig -a
paul@15 59 </pre>
paul@15 60 <p>To display the Kernel's IP routing table, you can use the <code>route</code> command
paul@15 61 without any arguments:
paul@15 62 </p>
paul@15 63 <pre>
paul@15 64 $ route
paul@15 65 </pre>
paul@15 66 <p>
paul@15 67 The system wide network configuration file is <code>/etc/network.conf</code>,
paul@15 68 it can be graphically configured with <code>netbox</code> or directly edited by
paul@15 69 the root administrator.
paul@15 70 </p>
paul@15 71
paul@15 72 <a name="driver"></a>
paul@15 73 <h3>Install network card driver</h3>
paul@15 74 <p>
paul@15 75 In case you need a network card driver and dont know the driver name, you can
paul@15 76 use the command <code>lspci</code> to find your card and then <code>modprobe</code>
paul@15 77 to load a module. In Live mode you can use the SliTaz boot option
paul@15 78 <code>modprobe=modules</code> to automatically load Kernel modules. To get a
paul@15 79 list of all available network card drivers, display PCI eth cards and load a
paul@15 80 module:
paul@15 81 </p>
paul@15 82 <pre>
paul@15 83 # modprobe -l | grep drivers/net
paul@15 84 # lspci | grep [Ee]th
paul@15 85 # modprobe -v module_name
paul@15 86 </pre>
paul@15 87 <p>
paul@15 88 On an installed system you just need to add the module_name to the variable
paul@15 89 <code>LOAD_MODULES </code> in <code>/etc/rcS.conf</code> to load your module
paul@15 90 on each boot.
paul@15 91 </p>
paul@15 92
paul@63 93 <a name="netbox"></a>
paul@63 94 <h3>Netbox - Configure network</h3>
paul@63 95 <p>
paul@63 96 Netbox is a small GTK+ application to configure a network interface using <em>DCHP</em> or a fixed (<em>static</em>) IP address. The tabs can be used to start/stop the connections and automatically change the values in the system files. Netbox also provides a <em>system wide</em> tab from which you can directly edit network configuration files. You can start netbox from the system tools menu or via a terminal:
paul@63 97 </p>
paul@63 98 <pre>
paul@63 99 $ netbox
paul@63 100 </pre>
paul@63 101
paul@15 102 <a name="pppoe"></a>
paul@15 103 <h3><font color="#6c0023">PPPoE connection kernel-mode</font></h3>
paul@15 104 <p>
paul@15 105 PPPoE connection in kernel-mode needs 2 files. The first file is
paul@15 106 <code>/etc/ppp/options</code> where you must specify your login name:
paul@15 107 </p>
paul@15 108 <pre class="script">
paul@15 109 plugin rp-pppoe.so
paul@15 110 name &lt;your provider connection ID&gt;
paul@15 111 noipdefault
paul@15 112 defaultroute
paul@15 113 mtu 1492
paul@15 114 mru 1492
paul@15 115 lock
paul@15 116 </pre>
paul@15 117 <p>
paul@15 118 Now you have to configure /etc/ppp/pap-secrets or /etc/ppp/chap-secrets:
paul@15 119 </p>
paul@15 120 <pre class="script">
paul@15 121 # client server secret IP addresses
paul@15 122 "your_login" * "your_password"
paul@15 123 </pre>
paul@15 124 <p>
paul@15 125 The config file /etc/resolv.conf will be automatically loaded up. Finished, you can
paul@15 126 now connect to the internet with <code>pppd</code>:
paul@15 127 </p>
paul@15 128 <pre>
paul@15 129 pppd eth0
paul@15 130 </pre>
paul@15 131 <p>
paul@15 132 On an installed system you can start pppd on each boot using the local startup
paul@15 133 script: <code>/etc/init.d/local.sh</code>
paul@15 134 </p>
paul@15 135
paul@15 136 <a name="rp-pppoe"></a>
paul@15 137 <h3><font color="#6c0023">Enable Dial-up Modem - PPPoE with rp-pppoe</font></h3>
paul@15 138 <p>
paul@15 139 To set an ASDL protocol via PPPoE, SliTaz provides the following utilities
paul@15 140 package <code>rp-pppoe</code>. Using <code>pppoe-setup</code> is a snap and you
paul@15 141 can quickly configure the network. If you use DCHP it's even easier, because
paul@15 142 the server from your ISP will take care of everything. If you do not have DHCP,
paul@15 143 you must first disable it's use via <code>DHCP="no"</code> from the
paul@15 144 configuration file <code>/etc/network.conf</code>. It should be noted that to
paul@15 145 modify configuration files and system logs you must first become <code>su</code>.
paul@15 146 To install and change the variable DHCP with Nano (ctrl + x to save &amp; exit):
paul@15 147 </p>
paul@15 148 <pre>
paul@15 149 $ su
paul@15 150 # tazpkg get-install rp-pppoe
paul@15 151 # nano /etc/network.conf
paul@15 152 </pre>
paul@15 153 <h4>Configure with pppoe-setup</h4>
paul@15 154 <p>
paul@15 155 To begin to configure your PPPoE connection, you must first open an Xterm or
paul@15 156 Linux consule and launch <code>pppoe-setup</code> and then begin to answer
paul@15 157 the following questions:
paul@15 158 </p>
paul@15 159 <pre>
paul@15 160 # pppoe-setup
paul@15 161 </pre>
paul@15 162 <ol>
paul@15 163 <li>Enter your username, please note that this is the username with which you
paul@15 164 communicate with your ISP.</li>
paul@15 165 <li>Internet interface, default is eth0 unless you have more than one,
paul@15 166 in which case you will have eth1, eth2 etc. Usually the Enter key is
paul@15 167 sufficient.</li>
paul@15 168 <li>If you have a permanent ASDL link answer
paul@15 169 <strong>yes</strong>, or <strong>no</strong> (default).</li>
paul@15 170 <li>Specify primary and secondary DNS your ISP uses (you may have to ask).</li>
paul@15 171 <li>Enter the password with which you communicate with your ISP (you need
paul@15 172 to enter twice).</li>
paul@15 173 <li>Choose the firewall or firewall depending on your hardware. If you
paul@15 174 have a router you can enter 1 or 2. If in doubt enter 1.</li>
paul@15 175 </ol>
paul@15 176 <h4>Start and Stop the connection</h4>
paul@15 177 <p>
paul@15 178 Still using the command line, simply type <code>pppoe-start</code> to start
paul@15 179 the connection. A few seconds later the system tells you that it is connected.
paul@15 180 If it gives you a message like TIMED OUT you may have poorly configured or
paul@15 181 the connection is defective. Please check the wiring and repeat the installation
paul@15 182 from the beginning. To start the connection:
paul@15 183 </p>
paul@15 184 <pre> # pppoe-start
paul@15 185 </pre>
paul@15 186 <p>
paul@15 187 To stop the connection, you can use
paul@15 188 <code>pppoe-stop</code>, using the command line.
paul@15 189 </p>
paul@15 190
paul@15 191 <a name="firewall"></a>
paul@15 192 <h3><font color="#6c0023">Manage the Firewall (<em>firewall</em>) using Iptables</font></h3>
paul@15 193 <p>
paul@15 194 SliTaz provides a very basic firewall, the kernel security rules are launched
paul@15 195 at boot time and iptables rules are disabled by default. You can
paul@15 196 activate/disable these at startup by using the configuration file:
paul@15 197 /etc/firewall.conf.
paul@15 198 </p>
paul@15 199 <p>
paul@15 200 The default <em>firewall</em> script begins with it's own set options for the
paul@15 201 Kernel ie. ICMP redirects, source routing, logs for unresolved addresses and
paul@15 202 spoof filters. The script then launches the rules defined in the
paul@15 203 <code>iptables_rules()</code> function of the configuration file:
paul@15 204 /etc/firewall.conf.
paul@15 205 </p>
paul@15 206 <p>
paul@15 207 The <em>firewall</em> uses Iptables, it consists of two files, the
paul@15 208 /etc/firewall.conf and /etc/init.d/firewall, you shouldn't need to modify
paul@15 209 these. Note Iptables has lots of options, for more infomation see the official
paul@15 210 documentation available online:
paul@15 211 <a href="http://www.netfilter.org/documentation/">www.netfilter.org/documentation/</a>.
paul@15 212 </p>
paul@15 213 <h4>Start, stop, restart the firewall</h4>
paul@15 214 <p>
paul@15 215 The script /etc/init.d/firewall lets you start/restart, stop or display the
paul@15 216 status of the firewall. The restart option is often used to test new rules
paul@15 217 after editing the configuration file. Example:
paul@15 218 </p>
paul@15 219 <pre>
paul@15 220 # /etc/init.d/firewall restart
paul@15 221 </pre>
paul@15 222 <h4>Enable/Disable the firewall at boot</h4>
paul@15 223 <p>
paul@15 224 To enable/disable options specific to the Kernel place, "yes"
paul@15 225 or "no" in the variable KERNEL_SECURITY= :
paul@15 226 </p>
paul@15 227 <pre class="script">
paul@15 228 # Enable/disable kernel security at boot time.
paul@15 229 KERNEL_SECURITY="yes"
paul@15 230 </pre>
paul@15 231 <p>
paul@15 232 and to activate/deactivate the iptables rules, it is necessary to modify the
paul@15 233 variable IPTABLES_RULES= :
paul@15 234 </p>
paul@15 235 <pre class="script">
paul@15 236 # Enable/disable iptables rules.
paul@15 237 IPTABLES_RULES="yes"
paul@15 238 </pre>
paul@15 239 <h4>Add, delete or modify the iptables rules</h4>
paul@15 240 <p>
paul@15 241 At the bottom of the configuration file: /etc/firewall.conf. you will find a
paul@15 242 function named: <code>iptables_rules()</code>, this contains all of the iptables
paul@15 243 commands to launch when the firewall starts. To delete a rule, It is advisable
paul@15 244 to comment out the corresponding line with a <code>#</code>. It is not
paul@47 245 advisable to leave the function completely empty, if you want to disable the
paul@15 246 iptables rules just add "no" to the variable IPTABLES_RULES= in the
paul@15 247 configuration file.
paul@15 248 </p>
paul@15 249 <p>
paul@15 250 Here's an example of using iptables rules, it refuses all connections incoming
paul@15 251 and outgoing, only allowing connections on the localhost, the local network,
paul@47 252 ports 80 and 22 respectively used by the web server HTTP and SSH secure server
paul@15 253 and port 21 for FTP; so it's very restrictive.
paul@15 254 </p>
paul@15 255 <pre class="script">
paul@15 256 # Netfilter/iptables rules.
paul@15 257 # This shell function is include in /etc/init.d/firewall.sh
paul@15 258 # to start iptables rules.
paul@15 259 #
paul@15 260 iptables_rules()
paul@15 261 {
paul@15 262
paul@15 263 # Drop all connexions.
paul@15 264 iptables -P INPUT DROP
paul@15 265 iptables -P OUTPUT DROP
paul@15 266
paul@15 267 # Accept all on localhost (127.0.0.1).
paul@15 268 iptables -A INPUT -i lo -j ACCEPT
paul@15 269 iptables -A OUTPUT -o lo -j ACCEPT
paul@15 270
paul@15 271 # Accept all on the local network (192.168.0.0/24).
paul@15 272 iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
paul@15 273 iptables -A OUTPUT -d 192.168.0.0/24 -j ACCEPT
paul@15 274
paul@15 275 # Accept port 80 for the HTTP server.
paul@15 276 iptables -A INPUT -i $INTERFACE -p tcp --sport 80 -j ACCEPT
paul@15 277 iptables -A OUTPUT -o $INTERFACE -p tcp --dport 80 -j ACCEPT
paul@15 278
paul@15 279 # Accept port 22 for SSH.
paul@15 280 iptables -A INPUT -i $INTERFACE -p tcp --dport 22 -j ACCEPT
paul@15 281 iptables -A OUTPUT -o $INTERFACE -tcp --sport 22 -j ACCEPT
paul@15 282
paul@15 283 # Accept port 21 for active FTP connections.
paul@15 284 iptables -A INPUT -i $INTERFACE -p tcp --dport 21 -j ACCEPT
paul@15 285 iptables -A OUTPUT -i $INTERFACE -p tcp --sport 21 -j ACCEPT
paul@15 286
paul@15 287 }
paul@15 288
paul@15 289 </pre>
paul@15 290
paul@15 291 <!-- End of content -->
paul@15 292 </div>
paul@15 293
paul@15 294 <!-- Footer. -->
paul@15 295 <div id="footer">
paul@15 296 <div class="footer-right"></div>
paul@15 297 <a href="#top">Top of the page</a> |
paul@15 298 <a href="index.html">Table of contents</a>
paul@15 299 </div>
paul@15 300
paul@15 301 <div id="copy">
paul@15 302 Copyright &copy; 2008 <a href="http://www.slitaz.org/en/">SliTaz</a> -
paul@15 303 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
paul@15 304 Documentation is under
paul@15 305 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
paul@15 306 and code is <a href="http://validator.w3.org/">valid xHTML 1.0</a>.
paul@15 307 </div>
paul@15 308
paul@15 309 </body>
paul@15 310 </html>
paul@15 311