Sharing PPP Connection
The following programs must have been installed in order to share the ppp connection:
- Programs for configuring generic network interface card (package net-tools)
- The iptables program which is used to manipulate how data is passed through your machine from your clients and back (package iptables)
- dnsmasq software for acting as a DHCP and DNS caching server (package dnsmasq)
- If you want to share the ppp connection with more computers you need to setup a network bridge. (package bridge-utils)
The following conditions must also have been met:
- You must have a working ppp connection
- You must have a working an extra eth interface card (in terms of "can be used in Linux")
- Set the ppp connection up. you can assign an ip address to the interface as usual, by running (again, as root):
- Set the kernel to router mode. This is done by running as root:
echo 1 > /proc/sys/net/ipv4/ip_forward
- Configure dnsmasqd. Make the following changes to /etc/dnsmasq.conf (uncomment if necessary):
domain-needed bogus-priv interface=eth1 (or whatever interface your wlan is) dhcp-range=192.168.0.1,192.168.0.100,12h
- Start the dnsmasqd, as root:
- Finally, set firewall to forward connections to and from the Internet for clients connecting to your wlan. This is done by issuing (you guessed it right, as root again):
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADEIn the above the ppp0 interface is the used ppp interface, you can substitute it for yours if needed.
- You are done! Happy surfing
ifconfig eth1 192.168.0.254
If you are using firewall, you should adapt this documentation to suit your needs.
Same applies also to setting up keys for wlan interface.
Let's assume your ppp connection is on eth0, and you want to share the connection on eth1 and eth2.
ifconfig eth1 0.0.0.0 #remove IP from eth0 ifconfig eth1 up #ensure the interface is up
ifconfig eth2 0.0.0.0 #remove IP from eth1 ifconfig eth2 up #ensure the interface is up
brctl addbr br0 #create br0 node brctl addif br0 eth1 #add eth0 to bridge br0 brctl addif br0 eth2 #add eth1 to bridge br0
ifconfig br0 192.168.0.254
change your interface in dnsmasq.conf to br0
then start dnsmasq