yoshizu
2014年11月7日 13時42分
yoshizuです
お世話になっています
armadillo-840
atmark-dist-20140131
linux-3.4-at9
の環境で
make menucnfigにて
[*] (ustomize Kernel Settings (NEW)
--- Networking support
Networking options --->
[*] Network backet filtering framework (Netfilter) --->
Core Netfilter Configuration --->
<*> Netfilter connection tracking support
IP: Netfilter Configuration --->
<*> Full NAT
<*> MASQUERADE target support
としてmake dep;makeを実行しましたところ
arm-linux-gnueabihf-gcc -Wall -Wunused -Iinclude/ -DIPTABLES_VERSION=\\"1.3.6\\" -O2 -march=armv7-a -mtune=cortex-a9 -mfpu=neon -I/usr/arm-linux-gnueabihf/include -I/usr/lib/gcc/arm-linux-gnueabihf/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.6//include-fixed -march=armv7-a -mtune=cortex-a9 -mfpu=neon -I/usr/arm-linux-gnueabihf/include -I/usr/lib/gcc/arm-linux-gnueabihf/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.6//include-fixed -Dlinux -D__linux__ -Dunix -DEMBED -idirafter /home/atmark/atmark-dist-20140131/include -Wall -fno-common -I/home/atmark/atmark-dist-20140131 -DNO_SHARED_LIBS=1 -D_UNKNOWN_KERNEL_POINTER_SIZE -D_INIT=ipt_MASQUERADE_init -c -o extensions/libipt_MASQUERADE.o extensions/libipt_MASQUERADE.c
extensions/libipt_MASQUERADE.c:9:46: fatal error: linux/netfilter_ipv4/ip_nat_rule.h: そのようなファイルやディレクトリはありません
compilation terminated.
make[2]: *** [extensions/libipt_MASQUERADE.o] エラー 1
make[2]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/iptables' から出ます
make[1]: *** [all] エラー 2
make[1]: ディレクトリ `/home/atmark/atmark-dist-20140131/user' から出ます
make: *** [subdirs] エラー 1
となりましたので
http://lists.atmark-techno.com/pipermail/armadillo/2011-May/007195.html
を参考に
#include
という行を、
#include
に変更して、再makeしました
すると
make[3]: `all' に対して行うべき事はありません.
make[3]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/i2c-tools/i2c-tools-3.0.2' から出ます
make[2]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/i2c-tools' から出ます
/bin/sh: 1: extensions/.dccp-test: Permission denied
/bin/sh: 1: extensions/.layer7-test: Permission denied
/bin/sh: 1: extensions/.statistic-test: Permission denied
make[2]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/iptables' に入ります
Extensions found: IPv4:CLUSTERIP IPv4:quota IPv6:REJECT IPv6:ah IPv6:frag IPv6:ipv6header IPv6:rt
arm-linux-gnueabihf-gcc -Wall -Wunused -Iinclude/ -DIPTABLES_VERSION=\\"1.3.6\\" -O2 -march=armv7-a -mtune=cortex-a9 -mfpu=neon -I/usr/arm-linux-gnueabihf/include -I/usr/lib/gcc/arm-linux-gnueabihf/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.6//include-fixed -march=armv7-a -mtune=cortex-a9 -mfpu=neon -I/usr/arm-linux-gnueabihf/include -I/usr/lib/gcc/arm-linux-gnueabihf/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.6//include-fixed -Dlinux -D__linux__ -Dunix -DEMBED -idirafter /home/atmark/atmark-dist-20140131/include -Wall -fno-common -I/home/atmark/atmark-dist-20140131 -DNO_SHARED_LIBS=1 -D_UNKNOWN_KERNEL_POINTER_SIZE -D_INIT=ipt_MASQUERADE_init -c -o extensions/libipt_MASQUERADE.o extensions/libipt_MASQUERADE.c
In file included from extensions/libipt_MASQUERADE.c:10:0:
/home/atmark/atmark-dist-20140131/include/linux/netfilter/nf_nat.h:16:31: error: field ‘min’ has incomplete type
/home/atmark/atmark-dist-20140131/include/linux/netfilter/nf_nat.h:17:31: error: field ‘max’ has incomplete type
extensions/libipt_MASQUERADE.c: In function ‘init’:
extensions/libipt_MASQUERADE.c:35:4: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c: At top level:
extensions/libipt_MASQUERADE.c:41:37: warning: ‘struct ip_nat_multi_range’ declared inside parameter list [enabled by default]
extensions/libipt_MASQUERADE.c: In function ‘parse_ports’:
extensions/libipt_MASQUERADE.c:46:4: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:46:24: error: ‘IP_NAT_RANGE_PROTO_SPECIFIED’ undeclared (first use in this function)
extensions/libipt_MASQUERADE.c:46:24: note: each undeclared identifier is reported only once for each function it appears in
extensions/libipt_MASQUERADE.c:54:5: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:55:8: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:68:5: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:69:5: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c: In function ‘parse’:
extensions/libipt_MASQUERADE.c:101:3: warning: passing argument 2 of ‘parse_ports’ from incompatible pointer type [enabled by default]
extensions/libipt_MASQUERADE.c:41:1: note: expected ‘struct ip_nat_multi_range *’ but argument is of type ‘struct ip_nat_multi_range *’
extensions/libipt_MASQUERADE.c: In function ‘print’:
extensions/libipt_MASQUERADE.c:122:30: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:124:7: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:124:17: error: ‘IP_NAT_RANGE_PROTO_SPECIFIED’ undeclared (first use in this function)
extensions/libipt_MASQUERADE.c:126:17: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:127:8: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:127:27: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:128:19: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c: In function ‘save’:
extensions/libipt_MASQUERADE.c:139:30: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:141:7: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:141:17: error: ‘IP_NAT_RANGE_PROTO_SPECIFIED’ undeclared (first use in this function)
extensions/libipt_MASQUERADE.c:142:28: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:143:8: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:143:27: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c:144:19: error: dereferencing pointer to incomplete type
extensions/libipt_MASQUERADE.c: At top level:
extensions/libipt_MASQUERADE.c:152:11: error: invalid application of ‘sizeof’ to incomplete type ‘struct ip_nat_multi_range’
extensions/libipt_MASQUERADE.c:153:19: error: invalid application of ‘sizeof’ to incomplete type ‘struct ip_nat_multi_range’
make[2]: *** [extensions/libipt_MASQUERADE.o] エラー 1
make[2]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/iptables' から出ます
make[1]: *** [all] エラー 2
make[1]: ディレクトリ `/home/atmark/atmark-dist-20140131/user' から出ます
make: *** [subdirs] エラー 1
atmark@atde5:~/atmark-dist-20140131$
となりました。
対処方法を、ご教授願います
以上、よろしくお願い致します。
コメント
at_takashi.sasayama
笹山です。
> armadillo-840
> atmark-dist-20140131
> linux-3.4-at9
上記環境で iptables のビルドエラーを解消する暫定パッチを添付します。
パッチ名:atmark-dist-20140131-fix-iptables-build-error.patch
パッチは atmark-dist20140131 配下に格納後、patchコマンドで適用できます。
atmark@atde5:~/atmark-dist20140131$ patch -p1 < atmark-dist-20140131-fix-iptables-build-error.patch
本問題は今後の製品アップデートで修正をします。
ビルドエラーのご報告ありがとうございました。
ファイル | ファイルの説明 |
---|---|
atmark-dist-20140131-fix-iptables-build-error.patch | atmark-dist-20140131 用 iptables ビルドエラー 暫定パッチ |
yoshizu
笹山様
yoshizuです
いつもお世話になっています
提供いただいたパッチでコンパイルエラーも解消され
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#
もエラーなく実行できました。
しかしながら
#iptables -t nat -A POSTROUTING -o eth0 -s 192.168.7.0/24 -j SNAT --to-source 192.168.20.100
#iptables v1.3.6: Unknown arg `--to-source'
#Try `iptables -h' or 'iptables --help' for more information.
となってしまいました。
何かカーネルコンフィグレーションで足りないものが考えられるでしょうか?
以上よろしくお願い致します。
> 笹山です。
>
> > armadillo-840
> > atmark-dist-20140131
> > linux-3.4-at9
>
> 上記環境で iptables のビルドエラーを解消する暫定パッチを添付します。
> パッチ名:atmark-dist-20140131-fix-iptables-build-error.patch
>
> パッチは atmark-dist20140131 配下に格納後、patchコマンドで適用できます。
>
>
> atmark@atde5:~/atmark-dist20140131$ patch -p1 < atmark-dist-20140131-fix-iptables-build-error.patch >
>
> 本問題は今後の製品アップデートで修正をします。
> ビルドエラーのご報告ありがとうございました。
at_takashi.sasayama
笹山です。
> #iptables -t nat -A POSTROUTING -o eth0 -s 192.168.7.0/24 -j SNAT --to-source 192.168.20.100
> #iptables v1.3.6: Unknown arg `--to-source'
> #Try `iptables -h' or 'iptables --help' for more information.
>
> となってしまいました。
>
> 何かカーネルコンフィグレーションで足りないものが考えられるでしょうか?
上記の現象ですが、カーネルコンフィギュレーションで Full NAT を有効にしても、
ターゲットに SNAT,DNAT が指定できないバグでした。
本問題を改修する暫定パッチを添付します。
パッチ名:atmark-dist-20140131-fix-iptables-snat-dnat.patch
このパッチは atmark-dist-20140131-fix-iptables-build-error.patch が適用された環境に対して、
使用してください。
パッチは atmark-dist20140131 配下に格納後、patchコマンドで適用できます。
atmark@atde5:~/atmark-dist20140131$ patch -p1 < atmark-dist-20140131-fix-iptables-snat-dnat.patch
ファイル | ファイルの説明 |
---|---|
atmark-dist-20140131-fix-iptables-snat-dnat.patch | atmark-dist-20140131 用 iptables SNAT/DNAT有効化 暫定パッチ |
yoshizu
笹山様
yoshizuです
お世話になっています
おかげさまで、無線LAN(AP)と有線LANのルーティング接続が可能となりました。
これで、armadill0-840 + GW-900Dを利用したアクセスポイントとしての機能を、
実現することが可能となりました。
対応ありがとうございました。
> 笹山です。
>
> > #iptables -t nat -A POSTROUTING -o eth0 -s 192.168.7.0/24 -j SNAT --to-source 192.168.20.100
> > #iptables v1.3.6: Unknown arg `--to-source'
> > #Try `iptables -h' or 'iptables --help' for more information.
> >
> > となってしまいました。
> >
> > 何かカーネルコンフィグレーションで足りないものが考えられるでしょうか?
>
> 上記の現象ですが、カーネルコンフィギュレーションで Full NAT を有効にしても、
> ターゲットに SNAT,DNAT が指定できないバグでした。
> 本問題を改修する暫定パッチを添付します。
>
> パッチ名:atmark-dist-20140131-fix-iptables-snat-dnat.patch
>
> このパッチは atmark-dist-20140131-fix-iptables-build-error.patch が適用された環境に対して、
> 使用してください。
>
> パッチは atmark-dist20140131 配下に格納後、patchコマンドで適用できます。
>
> atmark@atde5:~/atmark-dist20140131$ patch -p1 < atmark-dist-20140131-fix-iptables-snat-dnat.patch >
yoshizu
2014年11月20日 16時31分
yoshizuです
お世話になっています
残念ながら、この問題を自力で解決できていません
有線LANと無線LAN間のルーティングを行う方法で、MASQUERADEを利用する
方法以外にご存じの方は、おられませんでしょうか?
以上よろしくお願い致します
> yoshizuです
> お世話になっています
>
>
>
> armadillo-840
> atmark-dist-20140131
> linux-3.4-at9
> の環境で
>
> make menucnfigにて
>
> [*] (ustomize Kernel Settings (NEW)
>
> --- Networking support
> Networking options --->
> [*] Network backet filtering framework (Netfilter) --->
>
> Core Netfilter Configuration --->
> <*> Netfilter connection tracking support
>
> IP: Netfilter Configuration --->
> <*> Full NAT
> <*> MASQUERADE target support
>
> としてmake dep;makeを実行しましたところ
>
>
> arm-linux-gnueabihf-gcc -Wall -Wunused -Iinclude/ -DIPTABLES_VERSION=\\"1.3.6\\" -O2 -march=armv7-a -mtune=cortex-a9 -mfpu=neon -I/usr/arm-linux-gnueabihf/include -I/usr/lib/gcc/arm-linux-gnueabihf/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.6//include-fixed -march=armv7-a -mtune=cortex-a9 -mfpu=neon -I/usr/arm-linux-gnueabihf/include -I/usr/lib/gcc/arm-linux-gnueabihf/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.6//include-fixed -Dlinux -D__linux__ -Dunix -DEMBED -idirafter /home/atmark/atmark-dist-20140131/include -Wall -fno-common -I/home/atmark/atmark-dist-20140131 -DNO_SHARED_LIBS=1 -D_UNKNOWN_KERNEL_POINTER_SIZE -D_INIT=ipt_MASQUERADE_init -c -o extensions/libipt_MASQUERADE.o extensions/libipt_MASQUERADE.c
> extensions/libipt_MASQUERADE.c:9:46: fatal error: linux/netfilter_ipv4/ip_nat_rule.h: そのようなファイルやディレクトリはありません
> compilation terminated.
> make[2]: *** [extensions/libipt_MASQUERADE.o] エラー 1
> make[2]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/iptables' から出ます
> make[1]: *** [all] エラー 2
> make[1]: ディレクトリ `/home/atmark/atmark-dist-20140131/user' から出ます
> make: *** [subdirs] エラー 1
>
>
> となりましたので
>
>
>
> http://lists.atmark-techno.com/pipermail/armadillo/2011-May/007195.html
> を参考に
>
> #include<linux/netfilter_ipv4/ip_nat_rule.h>
> という行を、
>.#include<linux/netfilter/nf_nat.h>
> に変更して、再makeしました
>
> すると
>
>
> make[3]: `all' に対して行うべき事はありません.
> make[3]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/i2c-tools/i2c-tools-3.0.2' から出ます
> make[2]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/i2c-tools' から出ます
> /bin/sh: 1: extensions/.dccp-test: Permission denied
> /bin/sh: 1: extensions/.layer7-test: Permission denied
> /bin/sh: 1: extensions/.statistic-test: Permission denied
> make[2]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/iptables' に入ります
> Extensions found: IPv4:CLUSTERIP IPv4:quota IPv6:REJECT IPv6:ah IPv6:frag IPv6:ipv6header IPv6:rt
> arm-linux-gnueabihf-gcc -Wall -Wunused -Iinclude/ -DIPTABLES_VERSION=\\"1.3.6\\" -O2 -march=armv7-a -mtune=cortex-a9 -mfpu=neon -I/usr/arm-linux-gnueabihf/include -I/usr/lib/gcc/arm-linux-gnueabihf/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.6//include-fixed -march=armv7-a -mtune=cortex-a9 -mfpu=neon -I/usr/arm-linux-gnueabihf/include -I/usr/lib/gcc/arm-linux-gnueabihf/4.6//include -isystem /usr/lib/gcc/arm-linux-gnueabihf/4.6//include-fixed -Dlinux -D__linux__ -Dunix -DEMBED -idirafter /home/atmark/atmark-dist-20140131/include -Wall -fno-common -I/home/atmark/atmark-dist-20140131 -DNO_SHARED_LIBS=1 -D_UNKNOWN_KERNEL_POINTER_SIZE -D_INIT=ipt_MASQUERADE_init -c -o extensions/libipt_MASQUERADE.o extensions/libipt_MASQUERADE.c
> In file included from extensions/libipt_MASQUERADE.c:10:0:
> /home/atmark/atmark-dist-20140131/include/linux/netfilter/nf_nat.h:16:31: error: field ‘min’ has incomplete type
> /home/atmark/atmark-dist-20140131/include/linux/netfilter/nf_nat.h:17:31: error: field ‘max’ has incomplete type
> extensions/libipt_MASQUERADE.c: In function ‘init’:
> extensions/libipt_MASQUERADE.c:35:4: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c: At top level:
> extensions/libipt_MASQUERADE.c:41:37: warning: ‘struct ip_nat_multi_range’ declared inside parameter list [enabled by default]
> extensions/libipt_MASQUERADE.c: In function ‘parse_ports’:
> extensions/libipt_MASQUERADE.c:46:4: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:46:24: error: ‘IP_NAT_RANGE_PROTO_SPECIFIED’ undeclared (first use in this function)
> extensions/libipt_MASQUERADE.c:46:24: note: each undeclared identifier is reported only once for each function it appears in
> extensions/libipt_MASQUERADE.c:54:5: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:55:8: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:68:5: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:69:5: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c: In function ‘parse’:
> extensions/libipt_MASQUERADE.c:101:3: warning: passing argument 2 of ‘parse_ports’ from incompatible pointer type [enabled by default]
> extensions/libipt_MASQUERADE.c:41:1: note: expected ‘struct ip_nat_multi_range *’ but argument is of type ‘struct ip_nat_multi_range *’
> extensions/libipt_MASQUERADE.c: In function ‘print’:
> extensions/libipt_MASQUERADE.c:122:30: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:124:7: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:124:17: error: ‘IP_NAT_RANGE_PROTO_SPECIFIED’ undeclared (first use in this function)
> extensions/libipt_MASQUERADE.c:126:17: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:127:8: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:127:27: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:128:19: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c: In function ‘save’:
> extensions/libipt_MASQUERADE.c:139:30: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:141:7: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:141:17: error: ‘IP_NAT_RANGE_PROTO_SPECIFIED’ undeclared (first use in this function)
> extensions/libipt_MASQUERADE.c:142:28: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:143:8: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:143:27: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c:144:19: error: dereferencing pointer to incomplete type
> extensions/libipt_MASQUERADE.c: At top level:
> extensions/libipt_MASQUERADE.c:152:11: error: invalid application of ‘sizeof’ to incomplete type ‘struct ip_nat_multi_range’
> extensions/libipt_MASQUERADE.c:153:19: error: invalid application of ‘sizeof’ to incomplete type ‘struct ip_nat_multi_range’
> make[2]: *** [extensions/libipt_MASQUERADE.o] エラー 1
> make[2]: ディレクトリ `/home/atmark/atmark-dist-20140131/user/iptables' から出ます
> make[1]: *** [all] エラー 2
> make[1]: ディレクトリ `/home/atmark/atmark-dist-20140131/user' から出ます
> make: *** [subdirs] エラー 1
> atmark@atde5:~/atmark-dist-20140131$
>
>
>
> となりました。
>
> 対処方法を、ご教授願います
>
> 以上、よろしくお願い致します。
>
>
>