[Armadillo:07192] Re: Armadillo-440でnetfilterのnat機能等を組込みたいのですがエラーがでます。

Takenoshita Koyo email@hidden
2011年 5月 9日 (月) 14:07:19 JST


竹之下です。

Masakazu Itoh さんは書きました:
> 伊藤と申します。お世話になります。
> 
> Armadillo-440にnetfilterの機能を組み込もうとしてますが
> 次のようにファイルがないというエラーがでます。
> 
> arm-linux-gnueabi-gcc  -Wall -Wunused -Iinclude/ -DIPTABLES_VERSION=\"1.
> 3.6\" -O2  -I/usr/arm-linux-gnueabi/include -I/usr/lib/gcc/arm-linux-
> gnueabi/4.3.2//include -isystem /usr/lib/gcc/arm-linux-gnueabi/4.3.2//
> include-fixed -I/usr/arm-linux-gnueabi/include -I/usr/lib/gcc/arm-linux-
> gnueabi/4.3.2//include -isystem /usr/lib/gcc/arm-linux-gnueabi/4.3.2//
> include-fixed -Dlinux -D__linux__ -Dunix -DEMBED -idirafter /home/atmark
> /work/dist-work-latest/atmark-dist-20110326/include -Wall -fno-common  -
> I/home/atmark/work/dist-work-latest/atmark-dist-20110326 -
> DNO_SHARED_LIBS=1 -D_INIT=ipt_MASQUERADE_init -c -o extensions/
> libipt_MASQUERADE.o extensions/libipt_MASQUERADE.c
> extensions/libipt_MASQUERADE.c:9:46: error: linux/netfilter_ipv4/
> ip_nat_rule.h: そのようなファイルやディレクトリはありません
> 
> 回避方法をご教示いただけますと幸いです。
エラーが出ているファイルの、
#include <linux/netfilter_ipv4/ip_nat_rule.h>
という行を、
#include <linux/netfilter/nf_nat.h>
に変更して、試していただけますか?

iptablesの本家では、そのような変更がなされているようです。
http://git.netfilter.org/cgi-bin/gitweb.cgi?p=iptables.git;a=commitdiff;h=40d54756cd8a2705e22b36f7aef03bb2c472a10b

> 設定や環境は以下のとおりです。
> 
> クロス開発環境はWindows上のVMWare atde3です。
> make環境の設定手順と目的は以下のとおりです。
> 
> 目的:
> ・netfilterのrawテーブル、natテーブル、mangleテーブルの組み込み
> ・netfilterのDNAT/SNATなどのターゲットの組み込み
> 
> 使用アーカイブ:
> http://armadillo.atmark-techno.com/downloadsから
> ・Atmark Dist(v20110326,118.72 MB)
> ・Armadillo440(linux-2.6.26-at14, 60.43 MB)
> 
> 手順:
> ・ソースコードアーカイブ(atmark-dist)を展開、ドキュメントに従って設定後
>   make allを実施して実行形式を一度作成
> 
> ・「make menuconfig」のCustomize Kernel Settingsで次の設定しています。
> 
>   Networking --->
>    Networking options --->
>     Network packet filtering framework(Netfilter) --->
>      Core Netfilter Configration --->Netfilter connection tracking 
> supportを
>                                      マーキング(*)
>      IP:Netfilter Configuration --->IPv4 connection tracking support
>                                     (required for NAT)をマーキング(*)
>                                   Full NAT
>                                      MASQUERADE target support
>                                      REDIRECT target support
>                                      NETMAP target support
>                                      Basic ANMP-ALG support
>                                   Packet mangling
>                                      ECN target support
>                                      TTL target support
>                                      CLUSTERIP target support
>                                   raw table support(required for NOTRACK
> /TRACE)
>                                   以上、Full NATから全てをマーキング(*)
> 
> ・以上設定後にmakeを実施。上記のエラーが出ます。
> 
> 
> それともう一点、ご教示いただきたいことがございます。
> Armadillo440のシェル画面(PCのターミナルTeraTerm)から、iptableの設定をす
> るために
>   「iptables -t nat -A OUTPUT -p tcp -d 202.212.38.48 --dport 80 -j DNAT 
>    --to-destination 203.216.235.222」
> のように入力しますが --dport,--to-destination,のオプションが"Unknown arg"
> ということではじかれてしまいます。
> これは、上記のmakeがとおれば、自動的に解決することでしょうか
> それとも、なにか別途対処が必要でしょうか
> 
> 以上、アドバイスをいただけますと幸いに存じます。
> よろしくお願い申し上げます。
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 


-- 
Koyo Takenoshita




armadillo メーリングリストの案内