Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Can FreeBSD function as a broadband gateway for my DSL connection using PPPOE?

FreeBSD Routing ADSL PPPOE

Can FreeBSD function as a broadband gateway for my DSL connection using PPPOE?

by  xazax  Posted    (Edited  )
Yes,

First you want to dedicate a computer that you cannot run the latest resource intensive apps on, put two nic cards in it, and install FreeBSD on it. Try to avoid installing Xwindows, its only a router.

Second depepending on the version of FreeBSD that you are running you may need to recompile your kernel to support PPPOE and netgraph.

Third there are the two main files to modify
/etc/rc.conf
/etc/ppp/ppp.conf

here is my working sample of /etc/rc.conf
# -- sysinstall generated deltas -- # Fri May 31 01:44:00 2002
# Created: Fri May 31 01:44:00 2002
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
defaultrouter="192.168.1.1"
gateway_enable="YES"
hostname="ZUANTIZ.pacbell.net "
hostname="ZUANTIZ.pacbell.net"
ifconfig_ep0="inet 192.168.1.2 netmask 255.255.255.0"
ifconfig_ep1="inet 192.168.0.1 netmask 255.255.255.0"
kern_securelevel_enable="NO"
moused_enable="NO"
moused_type="NO"
nfs_client_enable="YES"
nfs_reserved_port_only="YES"
sendmail_enable="NO"
sendmail_enable="NO"
sshd_enable="YES"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="/etc/rc.firewall"
firewall_quiet="NO"
natd_enable="YES"
natd_interface="ep0"

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO
ppp_profile="sbcglobal.net"

/etc/ppp/ppp.conf

default:
set log Phase Chat LCP IPCP CCP IPCP tun command

set ifaddr 63.21.96.254/24
sbcglobal.net:
set phone 562-549-4848 #may not be neccessary
set redial 10 4
set timeout 999
set device PPPoE:ep0
set authname xazax666@sbcglobal.net
set authkey stnsapp666
set dial
set login
add default HISADDR
enable dns

If you are confident that you are done make sure that
your first ethernet card in my case (ep0) is connected to your ADSL modem and that your modem is on and connected to the phone line and ready, you may want to give it a complete reset.

Then either run /etc/netstart or reboot your computer when your modem is ready.

This will take several minutes. I use the old tcpdump (that everyone seems to hate nowadays) to view the activity and status of the connection as the proper modem lights are or should be active.

You will see dnsipaddresses -> to your adapter and lines showing your username and password in clear text.

When you are connected or think you are connected you will see line with an ipaddress from your provider.

At that point you may switch to another terminal login as root and run ifconfig until you see the following output similar to mine.

/sbin/ifconfig

ep0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::2a0:24ff:fe37:9b15%ep0 prefixlen 64 scopeid 0x1
ether 00:a0:24:37:9b:15
media: Ethernet 10baseT/UTP

ep1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::220:afff:fea4:3184%ep1 prefixlen 64 scopeid 0x2
ether 00:20:af:a4:31:84
media: Ethernet 10baseT/UTP

faith0: flags=8000<MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
inet6 fe80::2a0:24ff:fe37:9b15%tun0 prefixlen 64 scopeid 0x6
inet 63.21.96.68 --> 63.21.96.254 netmask 0xff000000
Opened by PID 111
tun1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
inet6 fe80::2a0:24ff:fe37:9b15%tun1 prefixlen 64 scopeid 0x7

If your tun0 or whatever number has the WAN or Providers ip address. You should be connected to your internet.

To verify the connection then just ping a website

ping yahoo.com
you should see the reply here.

If that is the case:
Go to one of your client machines, make sure that they have an ip address static or dynamic matching the ep1's lan ip address and ping yahoo.com from the command prompt.

If you get a reply, youre done. You are cooler and smarter than your neighbors!!!

If not then review your config, hardware or consult with another source until you are successful or just give up.

HaHaHa.

Oood Luck...
Register to rate this FAQ  : BAD 1 2 3 4 5 6 7 8 9 10 GOOD
Please Note: 1 is Bad, 10 is Good :-)

Part and Inventory Search

Back
Top