Problem about ppp -nat

Polytropon freebsd at
Fri Nov 21 05:57:32 PST 2008

Allthough others have already given you good advice, I'd like to
add that I'm running here at a similar setting, but without any
of these "Windows". :-)

First of all, I made my kernel capable; significant parts:

	# Firewall, NAT
	options         DUMMYNET
	options         IPFIREWALL
	options         IPFIREWALL_VERBOSE
	options         IPFIREWALL_VERBOSE_LIMIT=500
	options         IPFILTER
	options         IPDIVERT

	# PPPoE: netgraph(4) system
	options         NETGRAPH
	options         NETGRAPH_ETHER
	options         NETGRAPH_SOCKET
	options         NETGRAPH_PPPOE

If you don't want to compile a custom kernel, it's no problem. As
far as I know, the required kernel modules will be loaded automatically.

My setting includes two network interfaces, just like yours.
Interface xl0 + tun0 is the PPPoE connection to the outside, while
interface rl0 is the connection to the (slow) switch where the "clients"
are connected.

Configuration in /etc/rc.conf goes this way:

	ifconfig_xl0="inet  netmask 0xffffff00"
	ifconfig_rl0="inet  netmask 0xffffff00  media 10baseT/UTP"

The connection is established via /etc/ppp/ppp.conf settings.
Then I use a DHCP server to assign IPs to the "clients" instead
of giving them fixed ones. In fact, they are fixed because I set
up isc-dhcpd3-server (from ports) to assign IPs according to the
respective MAC adresses. :-)

Important note to IPFW settings: Have the line

	add divert natd ip      from any to any         via     xl0

in your /etc/ipfw.conf.

If you need to, you can add flags for natd in order to have a
certain kind of port or address redirection, such as

	natd_flags="-redirect_port tcp 6666"


	natd_flags="-redirect_address 123.456.789.123 \
		    -redirect_address 123.456.789.123"

In any case, go and check your "Windows" the usual way. Don't 
forget to do it, instead you'll end up searching for an error
on the correctly working FreeBSD installation. :-)

Check if the "Windows" has got the correct IP, if the name server
settings are correct and if you can (1st) ping the gateway
machine and (2nd) something outside the gateway machine.

>From Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list