hi all still I can't make it compiled in the patch at http://roeder.goe.net/~koepi/newnat.html, as Diego Sarasua pointed to, but getting the same ole crap as the only time I've ever managed to patch-o-maticize the kernel. As I try to add the following rule, I just get an 'invalid argument' message. The following shows an strace of iptables. thanks roy nyfw:~# strace iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -d ! 192.168.0.0/255.255.0.0 -j MASQUERADE execve("/sbin/iptables", ["iptables", "-t", "nat", "-A", "POSTROUTING", "-s", "192.168.0.0/255.255.0.0", "-d", "!", "192.168.0.0/255.255.0.0", "-j", "MASQUERADE"], [/* 13 vars */]) = 0 uname({sys="Linux", node="nyfw", ...}) = 0 brk(0) = 0x8056a5c open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=11871, ...}) = 0 old_mmap(NULL, 11871, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0T\27\0\000"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=8008, ...}) = 0 old_mmap(NULL, 11004, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40017000 mprotect(0x40019000, 2812, PROT_NONE) = 0 old_mmap(0x40019000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x40019000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\30\222"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0755, st_size=1153784, ...}) = 0 old_mmap(NULL, 1166560, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001a000 mprotect(0x4012d000, 40160, PROT_NONE) = 0 old_mmap(0x4012d000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x113000) = 0x4012d000 old_mmap(0x40133000, 15584, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40133000 close(3) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40137000 munmap(0x40014000, 11871) = 0 brk(0) = 0x8056a5c brk(0x8056a94) = 0x8056a94 brk(0x8057000) = 0x8057000 open("/lib/iptables/libipt_MASQUERADE.so", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\4\0"..., 1024) = 1024 fstat64(3, {st_mode=S_IFREG|0644, st_size=3276, ...}) = 0 old_mmap(NULL, 6720, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40014000 mprotect(0x40015000, 2624, PROT_NONE) = 0 old_mmap(0x40015000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40015000 close(3) = 0 socket(PF_INET, SOCK_RAW, IPPROTO_RAW) = 3 getsockopt(3, SOL_IP, 0x40 /* IP_??? */, [7627118], [84]) = 0 brk(0x8058000) = 0x8058000 getsockopt(3, SOL_IP, 0x41 /* IP_??? */, [7627118], [656]) = 0 setsockopt(3, SOL_IP, 0x40 /* IP_??? */, [7627118], 876) = -1 EINVAL (Invalid argument) write(2, "iptables: Invalid argument\n", 27iptables: Invalid argument ) = 27 _exit(1) = ? -- Roy Sigurd Karlsbakk, Datavaktmester ProntoTV AS - http://www.pronto.tv/ Tel: +47 9801 3356 Computers are like air conditioners. They stop working when you open Windows.