這個是linux的系統上實現,我剛好需要buildin在android....
编译好新内核后
# iptables -t nat -nL 提示
iptables v1.3.7: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
解决方法: 编译内核时加入以下模块
Linux Kernel Configuration
-> Networking support
-> Networking options
-> Network packet filtering framework(netfilter)
-> Core netfilter configuration
-> Netfilter connection tracking support
-> Netbios name service protocal support(new)
-> Netfilter Xtables support (required for ip_tables)
Linux Kernel Configuration
-> Networking support
-> Networking options
-> Network packet filtering framework(netfilter)
-> IP: Netfilter Configuration
-> IPv4 connection tracking support (require for NAT)
-> IP tables support (required for filtering/masq/NAT)
-> Full NAT
-> MASQUERADE target support
-> REDIRECT target support
export ARCH=arm
export CROSS_COMPILE=arm-linux-
make CC=arm-linux-gcc modules
make CC=arm-linux-gcc zImage
然後我是使用make CC=arm-linux-gcc modules 產出*.ko在
linux-XXX/net/netfilter/*.ko
linux-XXX/net/Ipv4/netfilter/*.ko
insmod /system/libmodules/nf_conntrack.ko
insmod /system/libmodules/nf_conntrack_ipv4.ko
insmod /system/libmodules/nf_nat.ko
insmod /system/libmodules/x_tables.ko
insmod /system/libmodules/ip_tables.ko
insmod /system/libmodules/xt_multiport.ko
insmod /system/libmodules/iptable_filter.ko
insmod /system/libmodules/iptable_nat.ko
insmod /system/libmodules/ipt_MASQUERADE.ko
insmod /system/libmodules/xt_state.ko
後來試的結果,建議還是* 取代M, 因為我不知道insmod module的相依先後次序。
[ 此帖被kazaya在2011-11-02 16:02重新编辑 ]