+++ /dev/null
- Configuring your Network
-
- Content:
- * Automatic Network Detection
- * Automatic Network Configuration
- * Manual Network Configuration
-
- a. Automatic Network Detection
-
- Maybe it just works?
-
- If your system is plugged into an Ethernet network with a DHCP server, it
- is very likely that your networking configuration has already been set up
- automatically for you. If so, you should be able to take advantage of the
- many included network-aware commands on the Installation CD such as ssh,
- scp, ping, irssi, wget and links, among others.
-
- If networking has been configured for you, the /sbin/ifconfig command
- should list some network interfaces besides lo, such as eth0:
-
- Code Listing 1: /sbin/ifconfig for a working network configuration
- # /sbin/ifconfig
- (...)
- eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A
- inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
- inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
- TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
- collisions:1984 txqueuelen:100
- RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb)
- Interrupt:11 Base address:0xe800
-
- Optional: Configure any Proxies
-
- If you access the Internet through a proxy, you might need to set up proxy
- information during the installation. It is very easy to define a proxy:
- you just need to define a variable which contains the proxy server
- information.
-
- In most cases, you can just define the variables using the server
- hostname. As an example, we assume the proxy is called proxy.gentoo.org
- and the port is 8080.
-
- Code Listing 2: Defining proxy servers
- (If the proxy filters HTTP traffic)
- # export http_proxy="http://proxy.gentoo.org:8080"
- (If the proxy filters FTP traffic)
- # export ftp_proxy="ftp://proxy.gentoo.org:8080"
- (If the proxy filters RSYNC traffic)
- # export RSYNC_PROXY="proxy.gentoo.org:8080"
-
- If your proxy requires a username and password, you should use the
- following syntax for the variable:
-
- Code Listing 3: Adding username/password to the proxy variable
- http://username:password@proxy.gentoo.org:8080
-
- Testing the Network
-
- You may want to try pinging your ISP's DNS server (found in
- /etc/resolv.conf) and a Web site of your choice, just to make sure that
- your packets are reaching the net, DNS name resolution is working
- correctly, etc.
-
- Code Listing 4: Further network testing
- # ping -c 3 www.yahoo.com
-
- If you are now able to use your network, you can skip the rest of this
- document. If not, read on.
-
- b. Automatic Network Configuration
-
- If the network doesn't work immediately, some installation media allow you
- to use net-setup (for regular or wireless networks), adsl-setup (for
- ADSL-users) or pptp (for PPTP-users - only available on x86).
-
- If your installation medium does not contain any of these tools or your
- network doesn't function yet, continue with Manual Network Configuration.
-
- * Regular Ethernet users should continue with Default: Using net-setup
- * ADSL users should continue with Alternative: Using RP-PPPoE
- * PPTP users should continue with Alternative: Using PPTP
- * Speedtouch USB users should continue with Alternative: Using Speedtouch
- USB
-
- Default: Using net-setup
-
- The simplest way to set up networking if it didn't get configured
- automatically is to run the net-setup script:
-
- Code Listing 5: Running the net-setup script
- # net-setup eth0
-
- net-setup will ask you some questions about your network environment. When
- all is done, you should have a working network connection. Test your
- network connection as stated before. If the tests are positive,
- congratulations! You are now ready to install Gentoo and can skip the
- rest of this document.
-
- If your network still doesn't work, continue with Manual Network
- Configuration.
-
- Alternative: Using RP-PPPoE
-
- Assuming you need PPPoE to connect to the internet, the Installation CD
- (any version) has made things easy for you by including rp-pppoe. Use the
- provided adsl-setup script to configure your connection. You will be
- prompted for the ethernet device that is connected to your adsl modem,
- your username and password, the IPs of your DNS servers and if you need a
- basic firewall or not.
-
- Code Listing 6: Using rp-pppoe
- # adsl-setup
- # adsl-start
-
- If something goes wrong, double-check that you correctly typed your
- username and password by looking at /etc/ppp/pap-secrets or
- /etc/ppp/chap-secrets and make sure you are using the right ethernet
- device. If your ethernet device doesn't exist, you will have to load the
- appropriate network modules. In that case you should continue with Manual
- Network Configuration as we explain how to load the appropriate network
- modules there.
-
- If everything worked, continue with Preparing the Disks.
-
- Alternative: Using PPTP
-
- Note: PPTP support is only available for x86
-
- If you need PPTP support, you can use pptpclient which is provided by our
- Installation CDs. But first you need to make sure that your configuration
- is correct. Edit /etc/ppp/pap-secrets or /etc/ppp/chap-secrets so it
- contains the correct username/password combination:
-
- Code Listing 7: Editing /etc/ppp/chap-secrets
- # nano -w /etc/ppp/chap-secrets
-
- Then adjust /etc/ppp/options.pptp if necessary:
-
- Code Listing 8: Editing /etc/ppp/options.pptp
- # nano -w /etc/ppp/options.pptp
-
- When all that is done, just run pptp (along with the options you couldn't
- set in options.pptp) to connect the server:
-
- Code Listing 9: Connection to a dial-in server
- # pptp <server ip>
-
- Now continue with Preparing the Disks.
-
- Alternative: Using Speedtouch USB
-
- First, you need to help hotplug in finding the Alcatel Speedtouch USB
- modem. Add the following line to /etc/hotplug/usb.usermap:
-
- Code Listing 10: Adding Alcatel Speedtouch support
- speedtouch 0x0003 0x06b9 0x4061 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 "Alcatel SpeedTouch USB"
-
- Next, create /etc/ppp/peers/adsl and enter the following information:
-
- Code Listing 11: Editing /etc/ppp/peers/adsl
- noipdefault
- defaultroute
- # Change this to the login for your ISP.
- user "user@provider.com"
- passive
- persist
- holdoff 4
- maxfail 25
- plugin pppoatm.so
- # Changes by country - http://www.linux-usb.org/SpeedTouch/faq/index.html#q12
- 0.38
-
- If your ISP provides the name servers, add "usepeerdns" to it as well.
-
- Now add your login and password to the /etc/ppp/chap-secrets file:
-
- Code Listing 12: Setting the user name and password
- "user@provider.com" * "yourpassword"
-
- Now you are all set: start up your internet connection using pppd:
-
- Code Listing 13: Starting the Internet connection
- # pppd call adsl
-
- c. Manual Network Configuration
-
- Loading the Appropriate Network Modules
-
- When the Installation CD boots, it tries to detect all your hardware
- devices and loads the appropriate kernel modules (drivers) to support your
- hardware. In the vast majority of cases, it does a very good job. However,
- in some cases, it may not auto-load the kernel modules you need.
-
- If net-setup or adsl-setup failed, then it is possible that your network
- card wasn't found immediately. This means you may have to load the
- appropriate kernel modules manually.
-
- To find out what kernel modules we provide for networking, use ls:
-
- Code Listing 14: Searching for provided modules
- # ls /lib/modules/`uname -r`/kernel/drivers/net
-
- If you find a driver for your network card, use modprobe to load the
- kernel module:
-
- Code Listing 15: Using modprobe to load a kernel module
- (As an example, we load the pcnet32 module)
- # modprobe pcnet32
-
- To check if your network card is now detected, use ifconfig. A detected
- network card would result in something like this:
-
- Code Listing 16: Testing availability of your network card, successful
- # ifconfig eth0
- eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00
- BROADCAST NOARP MULTICAST MTU:1500 Metric:1
- RX packets:0 errors:0 dropped:0 overruns:0 frame:0
- TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:0
- RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
-
- If however you receive the following error, the network card is not
- detected:
-
- Code Listing 17: Testing availability of your network card, failed
- # ifconfig eth0
- eth0: error fetching interface information: Device not found
-
- If you have multiple network cards in your system they are named eth0,
- eth1, etc. Make sure that the network card you want to use works well and
- remember to use the correct naming throughout this document. We will
- assume that the network card eth0 is used.
-
- Assuming that you now have a detected network card, you can retry
- net-setup or adsl-setup again (which should work now), but for the
- hardcore people amongst you we explain how to configure your network
- manually.
-
- Select one of the following sections based on your network setup:
-
- * Using DHCP for automatic IP retrieval
- * Preparing for Wireless Access if you have a wireless card
- * Understanding Network Terminology explains what you need to know about
- networking
- * Using ifconfig and route explains how to set up your networking
- manually
-
- Using DHCP
-
- DHCP (Dynamic Host Configuration Protocol) makes it possible to
- automatically receive networking information (IP address, netmask,
- broadcast address, gateway, nameservers etc.). This only works if you have
- a DHCP server in your network (or if your provider provides a DHCP
- service). To have a network interface receive this information
- automatically, use dhcpcd:
-
- Code Listing 18: Using dhcpcd
- # dhcpcd eth0
- Some network admins require that you use the
- hostname and domainname provided by the DHCP server.
- In that case, use
- # dhcpcd -HD eth0
-
- If this works (try pinging some internet server, like Google), then you
- are all set and ready to continue. Skip the rest of this section and
- continue with Preparing the Disks.
-
- Preparing for Wireless Access
-
- Note: Support for the iwconfig command is only available on x86, amd64 and
- ppc Installation CDs. You can still get the extensions working otherwise
- by following the instructions of the linux-wlan-ng project.
-
- If you are using a wireless (802.11) card, you may need to configure your
- wireless settings before going any further. To see the current wireless
- settings on your card, you can use iwconfig. Running iwconfig might show
- something like:
-
-Code Listing 19: Showing the current wireless settings
-# iwconfig eth0
-eth0 IEEE 802.11-DS ESSID:"GentooNode"
- Mode:Managed Frequency:2.442GHz Access Point: 00:09:5B:11:CC:F2
- Bit Rate:11Mb/s Tx-Power=20 dBm Sensitivity=0/65535
- Retry limit:16 RTS thr:off Fragment thr:off
- Power Management:off
- Link Quality:25/10 Signal level:-51 dBm Noise level:-102 dBm
- Rx invalid nwid:5901 Rx invalid crypt:0 Rx invalid frag:0 Tx
- excessive retries:237 Invalid misc:350282 Missed beacon:84
-
- Note: Some wireless cards may have a device name of wlan0 or ra0 instead
- of eth0. Run iwconfig without any command-line parameters to determine the
- correct device name.
-
- For most users, there are only two settings that might be important to
- change, the ESSID (aka wireless network name) or the WEP key. If the ESSID
- and Access Point address listed are already that of your access point and
- you are not using WEP, then your wireless is working. If you need to
- change your ESSID, or add a WEP key, you can issue the following commands:
-
- Code Listing 20: Changing ESSID and/or adding WEP key
- (This sets the network name to "GentooNode")
- # iwconfig eth0 essid GentooNode
-
- (This sets a hex WEP key)
- # iwconfig eth0 key 1234123412341234abcd
-
- (This sets an ASCII key - prefix it with "s:")
- # iwconfig eth0 key s:some-password
-
- You can then confirm your wireless settings again by using iwconfig. Once
- you have wireless working, you can continue configuring the IP level
- networking options as described in the next section (Understanding Network
- Terminology) or use the net-setup tool as described previously.
-
- Understanding Network Terminology
-
- Note: If you know your IP address, broadcast address, netmask and
- nameservers, then you can skip this subsection and continue with Using
- ifconfig and route.
-
- If all of the above fails, you will have to configure your network
- manually. This is not difficult at all. However, you need to be familiar
- with some network terminology, as you will need it to be able to configure
- your network to your satisfaction. After reading this, you will know what
- a gateway is, what a netmask serves for, how a broadcast address is formed
- and why you need nameservers.
-
- In a network, hosts are identified by their IP address (Internet Protocol
- address). Such an address is a combination of four numbers between 0 and
- 255. Well, at least that is how we perceive it. In reality, such an IP
- address consists of 32 bits (ones and zeros). Let's view an example:
-
- Code Listing 21: Example of an IP address
- IP Address (numbers): 192.168.0.2
- IP Address (bits): 11000000 10101000 00000000 00000010
- -------- -------- -------- --------
- 192 168 0 2
-
- Such an IP address is unique to a host as far as all accessible networks
- are concerned (i.e. every host that you are able to reach must have a
- unique IP address). In order to distinguish between hosts inside and
- outside a network, the IP address is divided in two parts: the network
- part and the host part.
-
- The separation is written down with the netmask, a collection of ones
- followed by a collection of zeros. The part of the IP that can be mapped
- on the ones is the network-part, the other one is the host-part. As usual,
- the netmask can be written down as an IP-address.
-
- Code Listing 22: Example of network/host separation
- IP-address: 192 168 0 2
- 11000000 10101000 00000000 00000010
- Netmask: 11111111 11111111 11111111 00000000
- 255 255 255 0
- +--------------------------+--------+
- Network Host
-
- In other words, 192.168.0.14 is still part of our example network, but
- 192.168.1.2 is not.
-
- The broadcast address is an IP-address with the same network-part as your
- network, but with only ones as host-part. Every host on your network
- listens to this IP address. It is truly meant for broadcasting packets.
-
- Code Listing 23: Broadcast address
- IP-address: 192 168 0 2
- 11000000 10101000 00000000 00000010
- Broadcast: 11000000 10101000 00000000 11111111
- 192 168 0 255
- +--------------------------+--------+
- Network Host
-
- To be able to surf on the internet, you must know which host shares the
- Internet connection. This host is called the gateway. Since it is a
- regular host, it has a regular IP address (for instance 192.168.0.1).
-
- We previously stated that every host has its own IP address. To be able to
- reach this host by a name (instead of an IP address) you need a service
- that translates a name (such as dev.gentoo.org) to an IP address (such as
- 64.5.62.82). Such a service is called a name service. To use such a
- service, you must define the necessary name servers in /etc/resolv.conf.
-
- In some cases, your gateway also serves as nameserver. Otherwise you will
- have to enter the nameservers provided by your ISP.
-
- To summarise, you will need the following information before continuing:
-
- Network Item Example
- Your IP address 192.168.0.2
- Netmask 255.255.255.0
- Broadcast 192.168.0.255
- Gateway 192.168.0.1
- Nameserver(s) 195.130.130.5, 195.130.130.133
-
- Using ifconfig and route
-
- Setting up your network consists of three steps. First we assign ourselves
- an IP address using ifconfig. Then we set up routing to the gateway using
- route. Then we finish up by placing the nameserver IPs in
- /etc/resolv.conf.
-
- To assign an IP address, you will need your IP address, broadcast address
- and netmask. Then execute the following command, substituting ${IP_ADDR}
- with your IP address, ${BROADCAST} with your broadcast address and
- ${NETMASK} with your netmask:
-
- Code Listing 24: Using ifconfig
- # ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
-
- Now set up routing using route. Substitute ${GATEWAY} with your gateway IP
- address:
-
- Code Listing 25: Using route
- # route add default gw ${GATEWAY}
-
- Now open /etc/resolv.conf with your favorite editor (in our example, we
- use nano):
-
- Code Listing 26: Creating /etc/resolv.conf
- # nano -w /etc/resolv.conf
-
- Now fill in your nameserver(s) using the following as a template. Make
- sure you substitute ${NAMESERVER1} and ${NAMESERVER2} with the appropriate
- nameserver addresses:
-
- Code Listing 27: /etc/resolv.conf template
- nameserver ${NAMESERVER1}
- nameserver ${NAMESERVER2}
-
- That's it. Now test your network by pinging some Internet server (like
- Google). If this works, congratulations then. You are now ready to install
- Gentoo.
-
- The contents of this document are licensed under the Creative Commons -
- Attribution / Share Alike license.