#$Id: README,v 0.4 1998/03/17 23:57:02 jjo Exp $
Quick
~~~~~
* YOU *NEED* ip_masq-v0.13 patch (over 2.1.90) to compile
* _EDIT_ Makefile and point "KSRC" to kernel source tree
* I tested it with glibc-devel environment (libc5 may compile also)
* Do "make install", which installs
/usr/sbin/ipmasqadm
/usr/lib/ipmasqadm/portfw.so
/usr/lib/ipmasqadm/autofw.so
* Use ipmasqadm tool:
# ipmasqadm portfw *AS you were using* #ipportfw (see README.portfw)
# ipmasqadm autofw *AS you were using* #ipautofw (see README.autofw)
Details:
~~~~~~~~
* ipmasqadm tool
- "General" masq module control (just a dynamic wrapper :)
- now we have ELF dynamic modules under /usr/lib/ipmasqadm/: portfw.so,
autofw.so INSTEAD of ip_portfw and ip_autofw tools.
Essentially the .so modules are the same ip_xxxxfw tools, just
touched for dynamic loading.
- Ej:
BEFORE: ip_portfw -A -t x.x.x.x/xx -R y.y.y.y/yy
NOW: ipmasqadm portfw -A -t x.x.x.x/xx -R y.y.y.y/yy
~~~~~~ -> actually /usr/lib/ipmasqadm/portfw.so
- API calls
BEFORE NOW
# ip_portfw # ipmasqadm portfw
| [ip_portfw.c] | [ipmasqadm.c,portfw.c]
| |
setsockopt() setsockopt()
| IP_PORTFW_ADD | IP_FW_MASQ_ADD, "portfw"
| (struct ip_portfw_edits *) | (struct ip_fw_masqctl *)
USER | |
....... | ............................. | ..........................
| [ip_sockglue.c] | [ip_sockglue.c]
KERN | |
| |
ip_portfw_ctl() ip_masq_mod_ctl()
+ [ip_portfw.c] | [ip_masq_mod.c]
|
|
. . . . . . . . . . . . . . . . . . . . | . . . . . . . . . . . . . .
KERN[mod] ip_port_fw_ctl()
| [ip_masq_portfw.c]
[same for IP_AUTOFW]
-- Juanjo <irriga@impsat1.com.ar> Nov 1997