Chion82 / netfilter-full-cone-nat

A kernel module to turn MASQUERADE into full cone SNAT
GNU General Public License v2.0
427 stars 121 forks source link

Centos6.8上编译报错 #28

Closed PHCSJC closed 4 years ago

PHCSJC commented 4 years ago

环境是centos6.8 64位,内核版本2.6.32-754.23.1.el6.x86_64

在第一步make时就报错,大佬能看看什么原因吗?

[root@n1 netfilter-full-cone-nat]# make make -C /lib/modules/2.6.32-754.23.1.el6.x86_64/build M=/usr/src/netfilter-full-cone-nat modules make[1]: Entering directory /usr/src/kernels/2.6.32-754.23.1.el6.x86_64' CC [M] /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.o /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:26:46: error: net/netfilter/nf_conntrack_zones.h: No such file or directory /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:45: warning: ‘struct xt_action_param’ declared inside parameter list /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:45: warning: its scope is only this definition or declaration, which is probably not what you want /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘xt_in’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:46: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: At top level: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:49: warning: ‘struct xt_action_param’ declared inside parameter list /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘xt_out’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:50: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: At top level: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:53: warning: ‘struct xt_action_param’ declared inside parameter list /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘xt_hooknum’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:54: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:160:86: error: macro "hash_for_each_possible" requires 5 arguments, but only 4 given /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘get_mapping_by_ext_port’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:160: error: ‘hash_for_each_possible’ undeclared (first use in this function) /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:160: error: (Each undeclared identifier is reported only once /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:160: error: for each function it appears in.) /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:160: error: expected ‘;’ before ‘{’ token /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:158: warning: unused variable ‘p_current’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:167: warning: no return statement in function returning non-void /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:173:88: error: macro "hash_for_each_possible" requires 5 arguments, but only 4 given /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘get_mapping_by_int_src’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:173: error: ‘hash_for_each_possible’ undeclared (first use in this function) /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:173: error: expected ‘;’ before ‘{’ token /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:171: warning: unused variable ‘hash_src’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:170: warning: unused variable ‘p_current’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:180: warning: no return statement in function returning non-void /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:208:84: error: macro "hash_for_each_safe" requires 6 arguments, but only 5 given /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘destroy_mappings’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:208: error: ‘hash_for_each_safe’ undeclared (first use in this function) /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:208: error: expected ‘;’ before ‘{’ token /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:204: warning: unused variable ‘i’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:203: warning: unused variable ‘tmp’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:202: warning: unused variable ‘p_current’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: At top level: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:218: warning: ‘struct nf_conntrack_zone’ declared inside parameter list /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘check_mapping’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:238: warning: passing argument 2 of ‘nf_conntrack_find_get’ from incompatible pointer type include/net/netfilter/nf_conntrack_core.h:54: note: expected ‘const struct nf_conntrack_tuple *’ but argument is of type ‘const struct nf_conntrack_zone *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:238: error: too many arguments to function ‘nf_conntrack_find_get’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: At top level: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:409: warning: ‘struct nf_nat_ipv4_range’ declared inside parameter list /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:409: warning: ‘struct nf_conntrack_zone’ declared inside parameter list /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘find_appropriate_port’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:413: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:413: error: ‘NF_NAT_RANGE_PROTO_SPECIFIED’ undeclared (first use in this function) /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:414: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:414: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:414: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:414: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:415: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:415: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:415: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:415: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:422: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:422: error: ‘NF_NAT_RANGE_PROTO_RANDOM’ undeclared (first use in this function) /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:423: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:427: error: implicit declaration of function ‘prandom_u32’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:431: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:434: warning: passing argument 3 of ‘check_mapping’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:218: note: expected ‘const struct nf_conntrack_zone *’ but argument is of type ‘const struct nf_conntrack_zone *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:447: warning: passing argument 3 of ‘check_mapping’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:218: note: expected ‘const struct nf_conntrack_zone *’ but argument is of type ‘const struct nf_conntrack_zone *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: At top level: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:460: warning: ‘struct xt_action_param’ declared inside parameter list /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘fullconenat_tg’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:490: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:491: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:498: error: implicit declaration of function ‘nf_ct_zone’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:498: warning: assignment makes pointer from integer without a cast /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:500: error: ‘struct nf_nat_range’ has no member named ‘min_addr’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:500: error: ‘struct nf_nat_range’ has no member named ‘min_addr’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:501: error: ‘struct nf_nat_range’ has no member named ‘max_addr’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:501: error: ‘struct nf_nat_range’ has no member named ‘max_addr’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:502: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:502: error: ‘NF_NAT_RANGE_MAP_IPS’ undeclared (first use in this function) /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:503: error: ‘struct nf_nat_range’ has no member named ‘min_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:503: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:504: error: ‘struct nf_nat_range’ has no member named ‘max_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:504: error: dereferencing pointer to incomplete type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:506: warning: passing argument 1 of ‘xt_hooknum’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:53: note: expected ‘const struct xt_action_param *’ but argument is of type‘const struct xt_action_param *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:508: warning: passing argument 1 of ‘xt_in’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:45: note: expected ‘const struct xt_action_param *’ but argument is of type‘const struct xt_action_param *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:535: warning: passing argument 3 of ‘check_mapping’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:218: note: expected ‘const struct nf_conntrack_zone *’ but argument is of type ‘const struct nf_conntrack_zone *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:536: error: ‘NF_NAT_RANGE_PROTO_SPECIFIED’ undeclared (first use in this function) /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:537: error: ‘struct nf_nat_range’ has no member named ‘min_addr’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:538: error: ‘struct nf_nat_range’ has no member named ‘max_addr’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:539: error: ‘struct nf_nat_range’ has no member named ‘min_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:540: error: ‘struct nf_nat_range’ has no member named ‘max_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:540: error: ‘struct nf_nat_range’ has no member named ‘min_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:544: warning: passing argument 1 of ‘xt_hooknum’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:53: note: expected ‘const struct xt_action_param *’ but argument is of type‘const struct xt_action_param *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:544: warning: passing argument 1 of ‘xt_hooknum’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:53: note: expected ‘const struct xt_action_param *’ but argument is of type‘const struct xt_action_param *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:555: warning: passing argument 1 of ‘xt_hooknum’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:53: note: expected ‘const struct xt_action_param *’ but argument is of type‘const struct xt_action_param *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:557: warning: passing argument 1 of ‘xt_out’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:49: note: expected ‘const struct xt_action_param *’ but argument is of type‘const struct xt_action_param *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:569: warning: passing argument 3 of ‘check_mapping’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:218: note: expected ‘const struct nf_conntrack_zone *’ but argument is of type ‘const struct nf_conntrack_zone *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:575: error: ‘struct nf_nat_range’ has no member named ‘min_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:576: error: ‘struct nf_nat_range’ has no member named ‘max_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:576: error: ‘struct nf_nat_range’ has no member named ‘min_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:582: warning: passing argument 2 of ‘find_appropriate_port’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:409: note: expected ‘const struct nf_conntrack_zone *’ but argument is of type ‘const struct nf_conntrack_zone *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:582: warning: passing argument 5 of ‘find_appropriate_port’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:409: note: expected ‘const struct nf_nat_ipv4_range *’ but argument is of type ‘const struct nf_nat_ipv4_range *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:585: error: ‘struct nf_nat_range’ has no member named ‘min_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:586: error: ‘struct nf_nat_range’ has no member named ‘max_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:586: error: ‘struct nf_nat_range’ has no member named ‘min_proto’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:594: error: ‘struct nf_nat_range’ has no member named ‘min_addr’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:595: error: ‘struct nf_nat_range’ has no member named ‘max_addr’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:598: warning: passing argument 1 of ‘xt_hooknum’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:53: note: expected ‘const struct xt_action_param *’ but argument is of type‘const struct xt_action_param *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:598: warning: passing argument 1 of ‘xt_hooknum’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:53: note: expected ‘const struct xt_action_param *’ but argument is of type‘const struct xt_action_param *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:615: warning: passing argument 3 of ‘check_mapping’ from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:218: note: expected ‘const struct nf_conntrack_zone *’ but argument is of type ‘const struct nf_conntrack_zone *’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘fullconenat_tg_check’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:639: error: ‘const struct xt_tgchk_param’ has no member named ‘net’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:646: error: ‘const struct xt_tgchk_param’ has no member named ‘net’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:646: error: too many arguments to function ‘nf_conntrack_register_notifier’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: In function ‘fullconenat_tg_destroy’: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:670: error: ‘const struct xt_tgdtor_param’ has no member named ‘net’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:670: error: too many arguments to function ‘nf_conntrack_unregister_notifier’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:676: error: ‘const struct xt_tgdtor_param’ has no member named ‘net’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c: At top level: /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:687: warning: initialization from incompatible pointer type /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:688: error: invalid application of ‘sizeof’ to incomplete type ‘struct nf_nat_ipv4_multi_range_compat’ /usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.c:692: warning: initialization from incompatible pointer type make[2]: *** [/usr/src/netfilter-full-cone-nat/xt_FULLCONENAT.o] Error 1 make[1]: *** [_module_/usr/src/netfilter-full-cone-nat] Error 2 make[1]: Leaving directory/usr/src/kernels/2.6.32-754.23.1.el6.x86_64' make: *** [all] Error 2

Chion82 commented 4 years ago

Kernel v2.6 is definitely below the minimum kernel version required for this module. For tested kernel versions please refer to #20