A simple guide to get your network running. (tried and tested with prolink 9000/c adsl ethernet modem with a prolink PFE100TX ethernet card and a SingNet connection in Singapore)
Load the device module
First you need to know which module is needed for your network card (NIC). If you use hwdetect or lshwd, they should do it for you and load it automatically at startup. If not, ask google or try some other distro (liveCD) to find out the name of the needed module. lsmod will show you all loaded modules.
Now when you know which module to use you can load it:
# modprobe <modulename>
If you don't want / can't use some auto-loader like hwdetect you can add it into the modules array in
/etc/rc.conf, so you don't need to modprobe it everytime you boot. For example, tg3 is the network module:
MODULES=(!usbserial tg3 snd-cmipci)
Other common modules are 8139too for cards with realtek chipset or sis900 for SiS cards.
For DHCP IP
/etc/rc.conf like this:
lo="lo 127.0.0.1" eth0="dhcp" INTERFACES=(lo eth0) ROUTES=(!gateway)
For Static IP
If you share your internet connection from a Windows box without a router, be sure to use static IPs on both computers. Otherwise you will have LAN issues.
- Your static IP address,
- The netmask,
- The broadcast address,
- Your gateway,
- Your nameservers' IP addresses,
- Your domain name.
If you are running a private network, it is safe to use IP addresses in 192.168.*.'* for your IPs, with a netmask of 255.255.0.0 and broadcast address of 192.168.255.255. Unless your network has a router, the gateway address does not matter. Edit
/etc/rc.conf like this, substituting your own values for the IP, netmask, broadcast, and gateway:
lo="lo 127.0.0.1" eth0="eth0 126.96.36.199 netmask 255.255.255.0 broadcast 188.8.131.52" INTERFACES=(lo eth0) gateway="default gw 184.108.40.206" ROUTES=(gateway)
/etc/resolv.conf like this, substituting your nameservers' IPs and your domain name:
nameserver 220.127.116.11 nameserver 61.95.849.8 search example.com
You may include as many nameserver lines as you wish.
If you use DHCP and you don't want your DNS servers to change every time you start your network, be sure to add the
-R option to
/etc/conf.d/dhcpcd (used by in
/etc/rc.d/network). This prevents DHCP from rewritting your
/etc/resolv.conf every time:
DHCPCD_ARGS="-R -t 30 -h $HOSTNAME"
You might need to add the "-S" option to your dhcpcd arguments in order to get your network to work"
DHCPCD_ARGS="-S -t 30 -h $HOSTNAME"
Set computer name
/etc/rc.conf and set HOSTNAME to your desired computer name :
Set host name/ip
/etc/hosts and add a similar line with the same HOSTNAME you entered at
127.0.0.1 banana.localdomain banana
Some more settings
The wireless (wlan) configuration is topic of another wiki page.
You can install and configure a firewall to feel more secure ;-)
You can install a daemon which will automatically configure your ethernet device when a cable is plugged in and automatically unconfigure it if the cable is pulled. This is useful on laptops with onboard network adapters, since it will only configure the interface when a cable is really connected. Other use is when you just need to restart network but don't want to restart computer or do it from shell.
Installation is very simple since it's in [extra]:
# pacman -S ifplugd
By default it is configured to work for eth0 device. This and other settings like delays can be configured in
Start it with
# /etc/rc.d/ifplugd start
or add it into DAEMONS array in