Home | History | Annotate | Line # | Download | only in npf
l2tp_gw-npf.conf revision 1.5.4.2
      1  1.5.4.2  tls # ex0 - (internal) network interface
      2  1.5.4.2  tls #	192.0.2.254/24
      3  1.5.4.2  tls # hme0 - (external) connection to Peer
      4  1.5.4.2  tls #	198.51.100.142/24
      5  1.5.4.2  tls 
      6  1.5.4.2  tls $int_if = "ex0"
      7  1.5.4.2  tls $ext_if = "hme0"
      8  1.5.4.2  tls 
      9  1.5.4.2  tls $private_addr = { 10.0.0.0/8, 172.16.0.0/14, 192.168.0.0/16 }
     10  1.5.4.2  tls 
     11  1.5.4.2  tls alg "icmp"
     12  1.5.4.2  tls 
     13  1.5.4.2  tls #
     14  1.5.4.2  tls # NAT for all.
     15  1.5.4.2  tls #
     16  1.5.4.2  tls map $ext_if dynamic 192.0.2.0/24 -> inet4($ext_if)
     17  1.5.4.2  tls 
     18  1.5.4.2  tls #table <1> type tree file "/etc/npf_problem_sites"
     19  1.5.4.2  tls 
     20  1.5.4.2  tls procedure "log" {
     21  1.5.4.2  tls 	log: npflog0
     22  1.5.4.2  tls }
     23  1.5.4.2  tls 
     24  1.5.4.2  tls group "external" on $ext_if {
     25  1.5.4.2  tls 	#
     26  1.5.4.2  tls 	# Allow DHCP requests (even to reserved addresses).
     27  1.5.4.2  tls 	#
     28  1.5.4.2  tls 	pass out final proto udp from any port bootpc to any port bootps
     29  1.5.4.2  tls 	pass in final proto udp from any port bootps to any port bootpc
     30  1.5.4.2  tls 	pass in final proto udp from any port bootps to 255.255.255.255 port bootpc
     31  1.5.4.2  tls 	#
     32  1.5.4.2  tls 	# Allow DNS queries
     33  1.5.4.2  tls 	#
     34  1.5.4.2  tls 	pass stateful out final proto udp to any port domain
     35  1.5.4.2  tls 
     36  1.5.4.2  tls 	# Problem sites.
     37  1.5.4.2  tls 	#block in final from <1> apply "log"
     38  1.5.4.2  tls 
     39  1.5.4.2  tls 	#
     40  1.5.4.2  tls 	# Block IANA-reserved addresses from entering or exiting
     41  1.5.4.2  tls 	#
     42  1.5.4.2  tls 	block in final from $private_addr apply "log"
     43  1.5.4.2  tls 	block out final to $private_addr apply "log"
     44  1.5.4.2  tls 	#
     45  1.5.4.2  tls 	pass stateful out final proto tcp all
     46  1.5.4.2  tls 	pass stateful out final proto udp all
     47  1.5.4.2  tls 	pass stateful out final proto icmp all
     48  1.5.4.2  tls 	pass stateful out final proto ipv6-icmp all
     49  1.5.4.2  tls 
     50  1.5.4.2  tls 	block in final proto tcp to 192.0.2.255 apply "log"
     51  1.5.4.2  tls 
     52  1.5.4.2  tls 	#
     53  1.5.4.2  tls 	# Prevent IP spoofing attacks on the firewall.
     54  1.5.4.2  tls 	#
     55  1.5.4.2  tls 	block in final from 127.0.0.1 apply "log"
     56  1.5.4.2  tls 
     57  1.5.4.2  tls 	#
     58  1.5.4.2  tls 	# L2TP/IPSEC-NAT-T Tunnels.
     59  1.5.4.2  tls 	#
     60  1.5.4.2  tls 	pass in final proto esp from any to inet4($ext_if)
     61  1.5.4.2  tls 	pass out final proto esp from inet4($ext_if) to any
     62  1.5.4.2  tls 	pass stateful in final from any to inet4($ext_if) port "ipsec-nat-t"
     63  1.5.4.2  tls 	pass stateful in final from any to inet4($ext_if) port l2tp
     64  1.5.4.2  tls 
     65  1.5.4.2  tls 	#
     66  1.5.4.2  tls 	# Pass multicast.
     67  1.5.4.2  tls 	# IGMP uses 224.0.0.1.
     68  1.5.4.2  tls 	#
     69  1.5.4.2  tls 	pass in final proto igmp all
     70  1.5.4.2  tls 	pass in final from any to 224.0.0.0/4
     71  1.5.4.2  tls 
     72  1.5.4.2  tls 	#
     73  1.5.4.2  tls 	# Pass established connections.
     74  1.5.4.2  tls 	#
     75  1.5.4.2  tls 	pass in final proto tcp flags A/A all
     76  1.5.4.2  tls 	pass in final proto tcp flags R/R all
     77  1.5.4.2  tls 	#
     78  1.5.4.2  tls 	# VNC
     79  1.5.4.2  tls 	#
     80  1.5.4.2  tls 	pass in final proto tcp from any to any port 5500
     81  1.5.4.2  tls 
     82  1.5.4.2  tls 	#
     83  1.5.4.2  tls 	# Web servers
     84  1.5.4.2  tls 	#
     85  1.5.4.2  tls 	#pass in final proto tcp from any to <A>/<M> port http
     86  1.5.4.2  tls 
     87  1.5.4.2  tls 	#
     88  1.5.4.2  tls 	# Services on localhost.
     89  1.5.4.2  tls 	#
     90  1.5.4.2  tls 	#pass in final proto udp from any port ntp
     91  1.5.4.2  tls 	#pass in final to any port imap
     92  1.5.4.2  tls 	#pass in final to any port domain
     93  1.5.4.2  tls 	#pass in final proto tcp to any port smtp
     94  1.5.4.2  tls 	#pass in final proto tcp to any port auth
     95  1.5.4.2  tls 	#pass in final proto tcp to any port ssh
     96  1.5.4.2  tls 	#pass in final proto tcp to any port bgp
     97  1.5.4.2  tls 	#pass in final proto tcp to any port ftp
     98  1.5.4.2  tls 	#pass in final proto tcp to any port "ftp-data"
     99  1.5.4.2  tls 	#pass in final proto udp to any port isakmp
    100  1.5.4.2  tls 	#pass in final proto udp to any port 8001
    101  1.5.4.2  tls 	#pass in final proto tcp to inet4($ext_if) port www
    102  1.5.4.2  tls 
    103  1.5.4.2  tls 	#
    104  1.5.4.2  tls 	# Handle traceroute gracefully for up-to 30 hops away.
    105  1.5.4.2  tls 	# FIXME: port-unr for ICMP is not yet supported.
    106  1.5.4.2  tls 	#
    107  1.5.4.2  tls 	block return-icmp in final proto udp to any port 33433-33524 apply "log"
    108  1.5.4.2  tls 
    109  1.5.4.2  tls 	#
    110  1.5.4.2  tls 	# Only allow selected ICMP types.
    111  1.5.4.2  tls 	#
    112  1.5.4.2  tls 	pass in final proto icmp icmp-type echo all
    113  1.5.4.2  tls 	pass in final proto icmp icmp-type timxceed all
    114  1.5.4.2  tls 	pass in final proto icmp icmp-type unreach all
    115  1.5.4.2  tls 	pass in final proto icmp icmp-type echoreply all
    116  1.5.4.2  tls 	pass in final proto icmp icmp-type sourcequench all
    117  1.5.4.2  tls 	pass in final proto icmp icmp-type paramprob all
    118  1.5.4.2  tls 	pass in final proto ipv6-icmp all
    119  1.5.4.2  tls 
    120  1.5.4.2  tls 	#
    121  1.5.4.2  tls 	# Send back a reset for new connections on tcp.
    122  1.5.4.2  tls 	#
    123  1.5.4.2  tls 	block return-rst in final proto tcp flags S/SA all apply "log"
    124  1.5.4.2  tls }
    125  1.5.4.2  tls 
    126  1.5.4.2  tls group "internal" on $int_if {
    127  1.5.4.2  tls 	# Pass everything to internal networks,
    128  1.5.4.2  tls 	# should be ok, because we are nat'ed.
    129  1.5.4.2  tls 	pass final all
    130  1.5.4.2  tls }
    131  1.5.4.2  tls 
    132  1.5.4.2  tls group default {
    133  1.5.4.2  tls 	# Loopback interface should allows packets to traverse it.
    134  1.5.4.2  tls 	pass final on lo0 all
    135  1.5.4.2  tls 	# For one L2TP tunnel, needs interface pre-created, post-destroyed
    136  1.5.4.2  tls 	pass final on ppp0 all
    137  1.5.4.2  tls 
    138  1.5.4.2  tls 	#
    139  1.5.4.2  tls 	# Block everything by default.
    140  1.5.4.2  tls 	#
    141  1.5.4.2  tls 	block final all apply "log"
    142  1.5.4.2  tls }
    143