pppoe with ppp and pf nat - problems booting
Matthias Meyser
meyser at xenet.de
Wed Jun 18 15:41:07 UTC 2014
Am 17.06.2014 20:33, schrieb Jesse Gooch:
> Hello all!
>
> I've just set up an i386 box as my router with FreeBSD 10-RELEASE
> (updated with freebsd-update). I have two interfaces: sk0 and rl0. sk0
> is configured in ppp.conf for pppoe to my DSL modem. rl0 is configured
> to a local IP, and I have pf set up for NAT and some port forwarding.
> Unfortunately on boot pf does not get set up since tun0 (created by ppp)
> does not exist when pf loads, so my ruleset is not loaded!
>
> This requires me to reload the pf ruleset whenever I reboot. Another
> problem with this approach is ntpdate fails to set time properly on boot
> as well (although this may be ppp taking a little while to get the
> connection set up).
>
> How can I get my system to just work when I boot up? I've copypasta'd
> the related conf files with names changed to protect the innocent below.
in /etc/rc.conf use
cloned_interfaces="tun0"
to create "tun0" early
and
ppp_unit="0"
to instruct ppp to user the existing "tun0"
and not a new tun device.
>
> ---ppp.conf---
> default:
> set log Phase tun command
> disable ipv6
>
> name_of_isp:
> disable ipv6
> set device PPPoE:sk0
> set authname isp_un
> set authkey isp_pw
> set dial
> set login
> add default HISADDR
> add default HISADDR6
> enable dns
> ---
>
> ---rc.conf---
> hostname="my_hostname"
> #this address is assigned to sk0 so I can access the administration page
> of my modem
> ifconfig_sk0="inet 192.168.1.100 netmask 255.255.255.0"
> ifconfig_rl0="inet 192.168.42.1 netmask 255.255.255.0"
> gateway_enable="YES"
> pf_enable="YES"
> pflog_enable="YES"
> ppp_enable="YES"
> ppp_mode="ddial"
> ppp_nat="NO"
> ppp_profile="name_of_isp"
> dhcpd_enable="YES"
> dhcpd_ifaces="rl0"
> named_enable="YES"
> ddclient_enable="YES"
> sshd_enable="YES"
> #ntpdate_enable="YES"
> #ntpdate_flags="-t 30 _timeservers_"
> ntpd_enable="YES"
> powerd_enable="YES"
> # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
> dumpdev="AUTO"
> ---
>
> ---pf.conf---
> # Macros
> ext_if = "tun0"
> lan_if = "rl0"
> lan_ip = "192.168.42.0/24"
>
> # Tables
>
> # Options
>
> # Traffic Normalization
> scrub in on $ext_if all fragment reassemble
>
> # Queueing
>
> # Translation
> nat pass on $ext_if from $lan_ip to any -> {$ext_if}
> #some redirect rules removed for port forwarding here
>
> # Packet Filtering
> block in on $ext_if all
> pass out on $ext_if all keep state
> pass in on $lan_if all
> pass out on $lan_if all
> ---
>
Matthias
--
Matthias Meyser | XeNET GmbH
Tel.: +49-5323-9489050 | 38678 Clausthal-Zellerfeld, Marktstrasse 40
Fax: +49-5323-9489059 | Registergericht: Amtsgericht Braunschweig HRB
110823
Email: Meyser at xenet.de | Geschaeftsfuehrer: Matthias Meyser
More information about the freebsd-questions
mailing list