転載・引用について

ユーザ用ツール

サイト用ツール


tweet:2021:0530_01

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
tweet:2021:0530_01 [2021/05/30 04:12] seiriostweet:2021:0530_01 [2021/06/24 10:16] (現在) seirios
行 19: 行 19:
 ifconfig em0 10.0.0.1/24 ifconfig em0 10.0.0.1/24
 ifconfig gif0 create ifconfig gif0 create
 +ifconfig gif0 mtu 1500 # 記述ミス。追記
 ifconfig gif0 tunnel inet 10.0.0.1 10.0.0.2 ifconfig gif0 tunnel inet 10.0.0.1 10.0.0.2
-ifconfig gif0 inet 172.16.0.1/24+ifconfig gif0 inet 172.16.0.1/24 alias
 route add -net 172.16.1.0/24 -iface gif0 route add -net 172.16.1.0/24 -iface gif0
 ifconfig bridge0 create ifconfig bridge0 create
-ifconfig bridge0 addm gif0 -stf gif0+ifconfig bridge0 mtu 1500 # 記述ミス。追記 
 +ifconfig bridge0 addm gif0 -stp gif0
 </code> </code>
  
行 30: 行 32:
 ifconfig em0 10.0.0.2/24 ifconfig em0 10.0.0.2/24
 ifconfig gif0 create ifconfig gif0 create
 +ifconfig gif0 mtu 1500 # 記述ミス。追記
 ifconfig gif0 tunnel inet 10.0.0.2 10.0.0.1 ifconfig gif0 tunnel inet 10.0.0.2 10.0.0.1
-ifconfig gif0 inet 172.16.1.1/24+ifconfig gif0 inet 172.16.1.1/24 alias
 route add -net 172.16.0.0/24 -iface gif0 route add -net 172.16.0.0/24 -iface gif0
 ifconfig bridge0 create ifconfig bridge0 create
-ifconfig bridge0 addm gif0 -stf gif0+ifconfig bridge0 mtu 1500 # 記述ミス。追記 
 +ifconfig bridge0 addm gif0 -stp gif0
 </code> </code>
  
行 41: 行 45:
 tcpdumpでgif0の通信内容を見る(''tcpdump -ni gif0'') と、''AF Unknown (18), length 46:''が表示される。また、この時に''tcpdump -ni em0''を見ると、''IP 10.0.0.1 > 10.0.0.2:  ip-proto-97 86'' のように、Packetは出て行っており、IPのProtocol番号97で通信しているようだが、pingは届かない。(parameter errorが出る) tcpdumpでgif0の通信内容を見る(''tcpdump -ni gif0'') と、''AF Unknown (18), length 46:''が表示される。また、この時に''tcpdump -ni em0''を見ると、''IP 10.0.0.1 > 10.0.0.2:  ip-proto-97 86'' のように、Packetは出て行っており、IPのProtocol番号97で通信しているようだが、pingは届かない。(parameter errorが出る)
  
-この問題は、IP AddressをIPv4からIPv6に置き換えても変わらなかった。+この問題は、IP AddressをIPv4からIPv6に置き換えても変わらなかった 
 + 
 +<WRAP box> 
 +**追記(記載忘れ20210530)** 
 +  * いくつかのWeb Pageに、sysctlでkernelパラメータをいじるという記事があるので、実行したが変化なし 
 +    * <code> 
 +sysctl net.link.bridge.ipfw=0 
 +sysctl net.link.bridge.pfil_bridge=0 
 +sysctl net.link.bridge.pfil_member=0 
 +</code> 
 +  * bridge0 に物理I/Fを追加してみたが、これも効果なし 
 +    * <code> 
 +ifconfig bridge0 addm em1 -stf em1 
 +</code> 
 +</WRAP>
  
 問題を切り分けようと、bridge I/Fを削除すると、問題なくICMPが届くところを見ると、gifでの通信は正常にできていると考えられる。 問題を切り分けようと、bridge I/Fを削除すると、問題なくICMPが届くところを見ると、gifでの通信は正常にできていると考えられる。
行 49: 行 67:
  
 よく見る(症状1)と、 よく見る(症状1)と、
-  - bridge0にgif0が所属していない時は、いわゆるIPv4/IPv6パケットが流れた +  - bridge0にgif0が所属していない時は、gif経由でいわゆるIPv4/IPv6パケットが流れた 
-  - bridge0にgif0が所属している時(addmした時)は、protocol number 97(EtherIP)の通信のように見える (tcpdumpのBinaryを解析する根性はなかった)。+  - bridge0にgif0が所属している時(addmした時)は、protocol number 97(EtherIP/on __em0__)/(parameter error/on __gif0__)の通信のように見える (tcpdumpのBinaryを解析する根性はなかった)。 
 + 
 +<WRAP box> 
 +** 追記(20210530) ** 
 + 
 +以前、佐藤先生から、中を解析するには、Protocol number=97を追いかけるしかない、というお話をいただいている。 
 + 
 +問題は、同一のFreeBSD同士でのgif+bridgeを用いたEtherIP通信が、IPv4でもIPv6でも失敗するところ。なお、NECのIX2000シリーズのEtherIPと繋ごうとしてもつなげないので、流石にFreeBSD側のBUGと考えるしかないが、問題はそのBUGが bridge(if_bridge.c) にあるのか gif(if_gif.c)にあるのかわからない... 
 +</WRAP>
  
 なお、いくつか試験するにあたって、 なお、いくつか試験するにあたって、
tweet/2021/0530_01.1622315552.txt.gz · 最終更新: 2021/05/30 04:12 by seirios

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki