Q. My modem is connected to CentOS Linux server. I'm using wvdial to connect to my ISP; I'd like to connect my laptop via same modem. How do I share a dial up Internet account?
A.. You can use iptables. It supports - IP Masquerading i.e. network address translation (NAT) to share internet.
Connect laptop to Linux box using hub / switch / cross-over Ethernet cable
Dial out using wvdial
Make sure ppp0 is up
Once connected type the following two command at a shell prompt to share ppp0 interface:
# sysctl -w net.ipv4.ip_forward=1
# iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
You need to add above rules to your existing iptables scripts. You can also create a script call share.ppp0 at /etc/ppp/ip-up.d/ with above two lines. This script run by the pppd after the link is established.
# cat > /etc/ppp/ip-up.d/share.ppp0
Append following code:
sysctl -w net.ipv4.ip_forward=1
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
# add other firewall rules below
Save and close the file.
Client Computer Setup
Login to laptop, set Linux server IP address as default gateway IP. Also setup nameserver IP address (NS1 / NS2). Run ping command to test connectivity:
$ ping google.com
$ ping linux-box.ip
$ nslookup google.com