Annotation of embedaddon/miniupnpd/INSTALL, revision 1.1.1.2

1.1       misho       1: MiniUPnP project.
1.1.1.2 ! misho       2: (c) 2006-2011 Thomas Bernard
1.1       misho       3: Homepage : http://miniupnp.free.fr/
                      4: Mirror: http://miniupnp.tuxfamily.org/
                      5: 
                      6: miniupnpd is still under active developpement. This documentation is
                      7: likely to be a little outdated when you read it. So please go on the
                      8: web forum http://miniupnp.tuxfamily.org/ if you need more information.
                      9: 
                     10: ================================ *BSD/pf =================================
                     11: To Build and Install :
                     12: 
                     13: - use BSD make to compile.
                     14: - you can first 'make config.h' then edit config.h to your preferences and
                     15:   finally 'make'
                     16: - add "rdr-anchor miniupnpd" and "anchor miniupnpd" lines to /etc/pf.conf
                     17: - some FreeBSD users reported that it is also necessary for them
                     18:   to explicitly allow udp traffic on 239.0.0.0/8 by adding the two following
                     19:   lines to /etc/pf.conf :
                     20:    pass out on $int_if from any to 239.0.0.0/8 keep state
                     21:    pass in on $int_if from any to 239.0.0.0/8 keep state
                     22: - dont forget to " pfctl -f /etc/pf.conf "
                     23: - you can check your modifications are taken into accout with
                     24:   "pfctl -s nat" and "pfctl -s rule". Look for the "rdr-anchor miniupnpd"
                     25:   and "anchor miniupnpd" lines.
                     26: - install as root using :
                     27:   # make install
                     28:   or  
                     29:   # PREFIX=/usr/local make install
                     30: - run as root : The daemon needs rights to modify pf rules.
                     31: 
                     32: edit the /etc/miniupnpd.conf file to set options. All options are also
                     33: available through command line switches.
                     34: To stop the daemon use :
                     35:   > kill `cat /var/run/miniupnpd.pid`
                     36: 
                     37: =========================== *BSD,*Solaris/ipf =============================
                     38: 
                     39: genconfig.sh and the Makefile try to detect wether ipf or pf should be
                     40: used. If it fails, edit config.h and Makefile by hand.
                     41: In Makefile, the FWNAME variable value should be pf or ipf.
                     42: Installation steps are allmost the same as with pf.
                     43: 
                     44: *Solaris users would be interested in reading informations from :
                     45: http://blogs.sun.com/avalon/category/IPFilter
                     46: 
1.1.1.2 ! misho      47: ============================= Mac OS X/ipfw ===============================
        !            48: 
        !            49: - use 'bsdmake' or 'make -f Makefile.macosx' to build
        !            50: 
        !            51: 
1.1       misho      52: ============================ Linux/netfilter ==============================
                     53: To Build and install :
                     54: 
                     55: - make sure you have libiptc available on your system :
                     56:   if you are using debian, "apt-get install iptables-dev"
1.1.1.2 ! misho      57:   Some versions of the iptables-dev package don't include the
        !            58:   necessary files : read "how to get libiptc with its headers on debian" below.
1.1       misho      59:   In anycase, libiptc is available in iptables sources packages
                     60:   from http://netfilter.org
                     61: - edit and run netfilter/iptables_init.sh shell script.
                     62:   This script must allways be run before the daemon
                     63:   to set up intial rules and chains.
                     64: - Build and edit the config.h file
                     65:   > make -f Makefile.linux config.h
                     66:   > vi config.h
                     67: - Build the daemon
                     68:   > make -f Makefile.linux
                     69:   If not using iptables from your system, 
                     70:   > IPTABLESPATH=/path/to/iptables-1.4.1 make -f Makefile.linux
                     71:   note : make sure you have iptables with static libraries compiled.
                     72:   use "./configure --enable-static" before compiling iptables
                     73: - install as root using :
                     74:   > make -f Makefile.linux install
                     75: - A miniupnpd script should be installed to /etc/init.d
                     76:   and the configuration files to /etc/miniupnpd
                     77: - anytime, you can use the netfilter/iptables_flush.sh
                     78:   script to flush all rules added by the daemon.
                     79: - after killing the daemon, you can get back to
                     80:   iptables initial state by runing the netfilter/iptables_removeall.sh
                     81:   script. Don't forget to edit the script to your convinience.
                     82: 
                     83: NOTE: a /etc/init.d/miniupnpd script will be installed.
                     84:   If it suits you, you can use is with start, stop or restart argument.
                     85:   # /etc/init.d/miniupnpd restart
                     86: 
1.1.1.2 ! misho      87: 
        !            88: How to get libiptc with its headers on debian :
        !            89: - Use apt-get to get sources :
        !            90:   > apt-get source iptables
        !            91:   you should then have an iptables-x.x.x/ directory.
        !            92: - configure and compile :
        !            93:   > cd iptables-x.x.x/
        !            94:   > ./configure --enable-static
        !            95:   > make
        !            96: - it is now possible to compile miniupnpd using the following command :
        !            97:   > IPTABLESPATH=§path/to/iptables-x.x.x make -f Makefile.linux
        !            98: 
1.1       misho      99: =========================== Configuration =============================
                    100: Edit the /etc/miniupnpd.conf file to set options. All options are also
                    101: available through command line switches.
                    102: 
                    103: Miniupnpd supports some kind of security check for allowing or disallowing
                    104: redirection to be made. The UPnP permission rules are read from the
                    105: miniupnpd.conf configuration file.
                    106: When a new redirection is asked, permission rules are evaluated in top-down
                    107: order and the first permission rule matched gives the answer : redirection
                    108: allowed or denied. If no rule is matching, the redirection is allowed, so
                    109: it is a good practice to have a "catch all" deny permission rule at the end
                    110: of your mermission ruleset.
                    111: Sample permission ruleset :
                    112: allow 4662-4672 192.168.1.34/32 4662-4672
                    113: deny 0-65535 192.168.1.34/32 0-65535
                    114: allow 1024-65535 192.168.1.0/24 1024-65535
                    115: deny 0-65535 0.0.0.0/0 0-65535
                    116: With this ruleset, redirections are allowed only for host on the subnet
                    117: 192.168.1.0/255.255.255.0 for the ports 1024 or above. There is an exception
                    118: for the host 192.168.1.34 for which only redirections from/to port 4662 to
                    119: 4672 are allowed.
                    120: 
                    121: You can generate the uuid for your UPnP device with the uuidgen available
                    122: under linux. The following following OpenBSD package is also providing
                    123: a "uuid" tool :
                    124: http://www.openbsd.org/4.0_packages/i386/uuid-1.5.0.tgz-long.html
                    125: An web based uuid generator is also available :
                    126: http://kruithof.xs4all.nl/uuid/uuidgen
                    127: 
                    128: On linux systems, one could also use the command
                    129: 'cat /proc/sys/kernel/random/uuid' to generate an uuid.
                    130: 
1.1.1.2 ! misho     131: More simple, use the genuuid makefile target :
        !           132: > make genuuid
        !           133: or
        !           134: > make -f Makefile.linux genuuid
        !           135: This target is needed by the "install" target, so it should be done
        !           136: automatically.
        !           137: 
1.1       misho     138: To stop the daemon use :
                    139:   # kill `cat /var/run/miniupnpd.pid`
                    140: or if your linux system use /etc/init.d/ 
                    141:   # /etc/init.d/miniupnpd stop
                    142: 
                    143: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>