ppp.Filter man page on HP-UX

Man page or keyword search:  
man Server   10987 pages
apropos Keyword Search (all sections)
Output format
HP-UX logo
[printable version]

ppp.Filter(4)							 ppp.Filter(4)

NAME
       ppp.Filter - PPP packet filter specification file format

DESCRIPTION
       The  file  describes  how  on-demand  PPP  links are to be managed.  By
       default, any type of packet causes the link (if down) to be brought  up
       (connected  to  its  remote end); any packet is allowed to traverse the
       link; and any packet is sufficient to reset the idle timer,  expiration
       of which would cause the link to be shut down.  This combination is not
       always appropriate behavior, so the filter file allows individual  con‐
       trol  based  on	the  packet type and its source or destination.	 These
       selection criteria may be specified for any  of	the  three  phases  of
       operation:   bringing  up  the  link,  passing packets on the link, and
       shutting down the link due to inactivity.  Packet  logging  detail  may
       also be selected using the same criteria.

   Format
       Comments	 begin	with a and extend to the end of the line; blank lines,
       or lines beginning with a are ignored.  Upper/lower  case  distinctions
       are  ignored in hostname specifications, but are significant elsewhere.
       Fields are separated by horizontal or vertical white space  (blanks  or
       tabs or newlines).

       If  a  line  begins with a hostname or IPv4/IPv6 address or the special
       words or for IPv6, that line is considered to be the beginning of a new
       set  of filtering specifications.  The filtering specifications will be
       applied to any packet crossing the point-to-point link connecting  this
       host  to	 the peer named by that initial hostname or IPv4/IPv6 address.
       The hostname or IPv4/IPv6 address in the first  column  of  the	filter
       file  refers  to	 the peer (system or router or terminal server) at the
       remote end of the point-to-point (PPP or SLIP) link.  The  hostname  or
       IPv4/IPv6  address  in the first column of the filter file, and associ‐
       ated with the link peer, is unrelated  to  the  source  or  destination
       IPv4/IPv6  address of any packet crossing the link.  If the link peer's
       address doesn't match any name or address specified in the first column
       of filter file, the filter specification following the special word for
       IPv4 packets and for IPv6 packets will be used.

       If a newline is followed by white space, that line is a continuation of
       the filtering specification already in progress.

       There are four keywords to describe the actions taken by in response to
       a particular packet:

	      Describes those packets that will cause a call to be placed  and
	      a
			  connection  initiated.   Packets  of	this sort also
			  must qualify to "pass" across the  link,  either  by
			  being	 explicitly  mentioned	or  by	inclusion in a
			  larger class in the section.

	      Describes those packets that will be  allowed  to	 traverse  the
	      link on
			  an  already-established  connection.	 Only  packets
			  which would be passed	 can  cause  the  link	to  be
			  brought  up.	 Any  packet  that  is	not  passed is
			  optionally logged, then discarded.

	      Describes packets that will reset the idle timer, thereby	 keep‐
	      ing the
			  line connected.

	      Describes	 packets  whose headers or contents are to be noted in
	      the log file.

       After each action keyword comes	stanzas,  separated  by	 white	space,
       describing  packets that fit the criteria for that action.  Each stanza
       is processed in the order shown in the file, and	 contain  restrictions
       or  permissions	on the packets encountered.  As soon as a pattern or a
       condition is found that matches the packet in question, takes the indi‐
       cated  action  and ignores the rest of the listed stanzas (i.e., inclu‐
       sive or with shortcut evaluation).

       Stanzas may contain IP protocol	numbers,  optionally  hyphen-separated
       ranges  of TCP or UDP port numbers along with the or qualifier, numbers
       representing ICMP/ICMPv6 message types or codes (which can be found  in
       and along with the or for ICMPv6 qualifier, service names corresponding
       to entries in or names or IP addresses of hosts	or  networks,  or  the
       special	keyword	 which is the default for all actions except where the
       default is (Usually, it is unnecessary to use as a  convenience,	 auto‐
       matically  adds	a  at  the  end	 of  a	stanza list if the last stanza
       negated, and add an at the end of a stanza list if the last  stanza  is
       negated.	  For example, in the typical case of this sensibly results in
       those packets matching the stanzas shown being logged, and  no  others.
       In  the	typical	 case  of this results in certain listed packets being
       restricted, but allowing the passage of all others.)

       For IPv4 packets filtering if a network is specified, either by name or
       by  address, then the corresponding network mask must also be specified
       if it is of a different size than the default for that  class  of  net‐
       work.   The  network mask and additional conditions within a stanza are
       separated by slashes and may be specified either as a series of decimal
       numbers separated by periods, or as a single 32-bit hexadecimal number.
       For IPv6 networks specify a prefix or a IPv6 address with prefix length
       separated  by a slash The sense of a stanza may be negated by prefixing
       it with an exclamation mark

       In the filter specification, the special keyword	 causes	 the  contents
       (as  well  as headers) of the indicated type of packet to be written to
       the log file.  Also in the filter specification, the special flag  sig‐
       nifies  that  the packet is to be logged only if it was rejected by the
       filter.

       Since TCP data streams are opened when the initiator sends a SYN packet
       to  the intended recipient, can distinguish between outbound (sent from
       this host) and inbound (coming from the other end of the link) uses  of
       TCP  applications  such	as  telnet or FTP.  The special keyword allows
       filtering or logging these connection starters.	Qualifying it with  or
       allows  sessions	 to be started or logged only if they are initiated in
       the indicated direction.	 The special keyword allows filtering or  log‐
       ging the packets that close TCP connections.

       The and keywords serve to distinguish ports, addresses or hostnames, as
       applying to the source or destination, respectively, of the packet.  If
       both  are  applied  to  the same stanza (e.g.  then both the source and
       destination address and/or port must match.

       The keyword causes an ICMP Destination Unreachable message (RFC 792 and
       RFC  1122  section  3.2.2.1) to be sent to the packet's source address,
       bearing the indicated code field, which may be chosen from the  follow‐
       ing:

	      net	     The destination network is unreachable.

	      host	     The destination host is unreachable.

	      prot	     The  designated  transport	 protocol  is not sup‐
			     ported.

	      protocol	     The designated transport  protocol	 is  not  sup‐
			     ported.

	      port	     The  designated transport protocol (e.g., UDP) is
			     unable to demultiplex the	datagram  but  has  no
			     protocol mechanism to inform the sender.

	      needfrag	     Fragmentation  is	needed	and the Don't Fragment
			     flag is set.

	      srcfail	     Source route failed.

	      net-unknown    The destination network is unknown.

	      host-unknown   The destination host is unknown.

	      host-isolated  The source host is	 isolated.

	      net-prohibited Communication with	 the  destination  network  is
			     administratively prohibited.

	      host-prohibited
			     Communication with the destination host is admin‐
			     istratively prohibited.

	      net-tos	     The destination network is	 unreachable  for  the
			     designated type of service.

	      host-tos	     The  destination host is unreachable for the des‐
			     ignated type of service.

       The keyword also causes an ICMPv6 Destination Unreachable message  (RFC
       2463 section 3.1) to be sent to the IPv6 packet's source address, bear‐
       ing the indicated code field, which may be chosen from the following:

	      noroute6	     No route to destination.

	      admin-prohibited
			     Communication with	 destination  administratively
			     prohibited

	      addr6	     Destination address in unreachable

	      port6	     Destination port unreachable

       The  keyword  can  be used to select packets based on whether they bear
       various IP options (RFC 1122 section 3.2.1.8 and RFC  791  section  3.1
       (pps 16ff)), selected from the following:

	      rr	     Record Route is used to trace the route an inter‐
			     net datagram takes.

	      ts	     Time Stamp.

	      security	     Security is used to carry Security, Compartmenta‐
			     tion,  User Group (TCC), and Handling Restriction
			     Codes compatible with DOD requirements.

	      lsrr	     Loose Source Routing is used to route the	inter‐
			     net datagram based on information supplied by the
			     source.

	      ssrr	     Strict Source Routing is used to route the inter‐
			     net datagram based on information supplied by the
			     source.

	      srcrt	     Either Loose  Source  Routing  or	Strict	Source
			     Routing.

	      any	     Any IP option - could even match the No Operation
			     option.

EXAMPLES
   Default Behavior
       The following file describes the default	 behavior  of  either  in  the
       absence of a filter specification file or in the case of an empty file:

	      #	      Filter - PPP configuration file,
	      #	      binding packet types to actions.
	      #	      Describes the default behavior of the daemon:
	      default	bringup all pass all keepup all log !all

	      default6	bringup all pass all keepup all log !all

       The default behavior is no restriction of packets, and no logging.

   Internet Firewall
       A line like this might be appropriate as a security firewall between an
       organizational network and the larger Internet:

	      internet-gateway
		      bringup !ntp !3/icmp !5/icmp !11/icmp !who !route
			      !nntp !89
		      pass    nntp/137.39.1.2 !nntp
			      telnet/syn/recv/137.175.0.0
			      !telnet/syn/recv !ftp/syn/recv
			      !login/syn/recv !shell/syn/recv !who
			      !sunrpc !chargen !tftp !supdup/syn/recv
			      !exec !syslog !route !6000/tcp/syn/send
		      keepup  !send !ntp !3/icmp !5/icmp !11/icmp
			      !who !route !89
		      log     rejected

       This specification allows NNTP (Usenet news) transactions with one peer
       and  no	others.	 It allows incoming Telnet sessions from hosts on only
       one network, disallows all other incoming Telnet, SUPDUP, and FTP  ses‐
       sions, and allows all outgoing Telnet SUPDUP, and FTP sessions.

       It allows X Window System clients running elsewhere to display on local
       window servers, but it allows  no  local	 X  clients  to	 use  displays
       located	elsewhere.  It disallows all SUN RPC traffic, thereby guarding
       the local YP/NIS and NFS servers from  outside  probes  and  filesystem
       mounts.	 Alas, it also disallows local machines from mounting filesys‐
       tems resident on NFS  servers  elsewhere,  but  this  can't  be	helped
       because	NFS uses RPC which is a UDP service, and therefore without the
       SYN and FIN packets that can be used to characterize the	 direction  in
       which  a	 TCP stream is being initiated.	 It blocks several other sorts
       of traffic that could be used for nefarious purposes, and  the  absence
       of  a trailing means that any traffic not explicitly blocked is permit‐
       ted to pass.

       The and lines are appropriate for an intermittent  dial-up  connection,
       so  that	 various  error	 conditions  won't cause the link to be estab‐
       lished, nor to keep the call open beyond its  usefulness.   OSPF	 (Open
       Shortest	 Path  First)  routing	packets	 (IP  protocol number 89, from
       RFC-1340) will cross the link, but won't cause it to be brought up, nor
       keep  it up if it's otherwise idle.  Usenet news traffic won't bring up
       the link, but once started, the link won't be shut off in the middle of
       a  news batch.  The line keeps a record of every packet that is blocked
       by the line, so that unsuccessful penetration attempts will be noted.

       For IPv6 filter line add similar to:

	      <IPv6 link local gateway address>	 #like fe80::2222
		      # which type of traffic should/shouldn't bring up the line

		      bringup !ntp !128/icmp6 !137/icmp6 !who !route !nntp

		      # which type of packets should be passed/rejected

		      pass    !nntp
			      !telnet/syn/recv
		      # Don't allow any packets from network whose prefix matches
		      # prefix cafe.

			      !cafe::1234/16
			      !ftp/syn/recv !login/syn/recv !shell/syn/recv

		      # which type of packets should/shouldn't restart
		      # the idle timer

		      keepup  !send !ntp !137/icmp !who !route

		      # which type of packets should/shouldn't be logged

		      log     rejected

   An Extremely Complex Example
       The following file instructs the daemon that a connection to any neigh‐
       bor  except the host "backbone" be brought up in response to any packet
       except for those generated by NTP, ICMP Destination Unreachable, and If
       those  are  the	only types of packets flowing across the link, it will
       not be kept up, but all packets are allowed to cross the link while  it
       is  up.	 Packets  sent	out will not reset the idle timer, but packets
       received from the peer will.  If the peer goes down and modem  problems
       cause  the phone not to be hung up, (and the idle command-line argument
       has been specified) will hang up the connection and retry.

       In the special case of the host "backbone" (perhaps a server  belonging
       to  a  network connectivity vendor), only telnet and FTP sessions, SMTP
       electronic mail, NNTP network news, and Domain Name System queries  are
       considered  sufficient  cause  to bring the link up or to keep it up if
       otherwise idle.

       Once the link is up, all the above plus NTP clock chimes and ICMP  mes‐
       sages  may  flow	 across	 the link.  No packets to or from a particular
       host, nor any packets except Domain Name System queries	and  responses
       for  any	 host  on  subnet  42  of the class B network 137.175 are ever
       allowed to cross the link, nor would they cause the link to  be	initi‐
       ated.   We  allow telnet and FTP sessions only if they are initiated in
       the outbound direction.

       We log one-line descriptions of various ICMP problem messages (Unreach‐
       able,  Time  Exceeded),	and  the  complete  contents  of ICMP messages
       reporting IP header problems.  We log  all  telnet  and	FTP  sessions,
       including  inbound  attempts  (though  they  will fail because they are
       excluded in the specification above).  We also log the  header  of  the
       first  packet  of any electronic mail message flowing over this link on
       its way to or from a specific host.

	      #
	      #	      Filter -	PPP configuration file binding packet
	      #			types to actions.
	      #
	      #	      For packets that would pass, these services
	      #	      will bring up the link:
	      #
	      backbone bringup smtp nntp domain telnet ftp
	      #
	      #	      Once brought up, these will pass (or not):
	      #
		      pass    !131.119.250.104
			      domain/137.175.42.0/255.255.255.0
			      !137.175.42.0/0xffffff00
	      #			  (alternative ways of
	      #			       expressing subnet mask)
			      !telnet/syn/recv !ftp/syn/recv
			      domain smtp nntp ntp icmp telnet ftp
	      #
	      #	      Packets received for the services shown will
	      #	      reset the idle timer.
	      #
		      keepup  !send smtp nntp domain telnet ftp
	      #
	      #	      Only these messages will have headers or contents
	      #	      logged, unless higher-level debugging is set:
	      #
		      log     3/icmp 11/icmp 12/icmp/trace
			      telnet/syn ftp/syn
			      smtp/syn/terminus.netsys.com
	      #
	      default bringup !ntp !3/icmp !who
		      keepup  !send !ntp !3/icmp !who

RECOMMENDATIONS
       Simpler filter specifications allow to start up quicker and run faster,
       with  less  processing  overhead	 for each packet, but that overhead is
       likely to present a problem only at very high line  speeds  (like  T1).
       The  "backbone"	example shown above is severe overkill for the sake of
       illustration, evolved over a period of  several	weeks,	and  took  the
       authors	several tries to get right.  Start with a simple filter speci‐
       fication and add each special case only as the need arises, usually  as
       the result of watching packet logs.  Then test carefully to ensure that
       your change had only the desired effect.

       Be very careful with header logging and even more careful  with	packet
       content	tracing.   Make the selection criteria very narrow, or the log
       file will grow extremely large in a short period of time.  Also, if the
       daemon  is running on a diskless workstation or if the log file is on a
       NFS-mounted file system, excessive amounts of logging information  will
       drastically  impede  the	 daemon's  ability  to	process at high packet
       rates.  Remember, NFS writes are synchronous.

       If you specify host names, be sure that their addresses	are  available
       locally,	 even  with  the  connection  down.  If you find that you must
       bring up a connection to resolve a domain  name,	 consider  using  that
       host's  IP  address  (decimal numbers separated by periods) in both and
       instead.

       If you want to specify all Domain Name System traffic, use  which  will
       be  expanded to entries for both and (Some DNS traffic uses each trans‐
       port.)  To allow queries but disable domain transfers,  use  Similarly,
       some systems' older files, as distributed by the manufacturer, list NTP
       as a  TCP  service.   When  the	current	 UDP  NTP  implementation  was
       installed on your system, the administrator may have left the old entry
       along with the correct The correct solution is to remove the entry from
       A workaround would be to specify in

       DEC  ULTRIX 4.2 and some other systems may have no entry for FTP's data
       socket in their file.  If you want to log the bulk data connections  as
       well as the control connections, you'll need to either add an entry for
       to or use explicitly in The former is preferable because it will	 cause
       the  log	 file  entry  to  contain  the	symbolic  name rather than the
       socket/protocol notation.

       If your file is missing some application-level protocols that you  con‐
       sider  useful,  you can populate it with entries from the Assigned Num‐
       bers RFC, number 1340.  For example, you may  find  it  useful  to  add
       lines like

	      gopher	      70/tcp
	      gopher	      70/udp
	      kerberos	      88/tcp
	      kerberos	      88/udp
	      snmp	      161/tcp
	      snmp	      161/udp
	      nextstep	      178/tcp
	      nextstep	      178/udp
	      prospero	      191/tcp
	      prospero	      191/udp
	      x11	      6000/tcp
       if  you're using those applications, and if they're not already in your
       file as received from your system's manufacturer.  If you augment  your
       this way, then instead of using entries like

		      pass    !6000/tcp/syn/send

       your could use entries like

		      pass    !x11/syn/send

       which is much more readable.  A list of TCP and UDP service numbers and
       names, selected from the Assigned Numbers RFC, is available in

AUTHOR
       was developed by HP.

SEE ALSO
       pppd(1),	 ppp.Auth(4),  ppp.Devices(4),	ppp.Dialers(4),	  ppp.Keys(4),
       ppp.Systems(4), services(4).

       RFC 791, RFC 792, RFC 1055, RFC 1548, RFC 1332, RFC 1122, RFC 1144, RFC
       1340.

								 ppp.Filter(4)
[top]

List of man pages available for HP-UX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net