_★
LinuxのARP
寮内(無断)ネットワークのNATサーヴァであるOpenBlockSが設置当初からヘン。
昨日、arp -aするとARPテーブルがヘンである事に気が付いた。
早速、etheraerlで調査してみるとeth0とeth1からarp応答が同時に出ていることが分った。
本来、eth0のアドレスだけ応えてくれれば良いのに何故かeth1まで応えている。
結果、2つのMACアドレスが出てしまい受ける方が混乱してしまうことがあるみたい。
*1
で、バグかと思い
ぐぐると、 Linuxではこの辺の仕様が曖昧らしい
[1] [2] 。
ただし、下記のようにすると
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_filter
echo 1 > /proc/sys/net/ipv4/conf/eth1/arp_filter
片方だけから出るらしいとのことで設定してみた。
etheraerlで確認してみると確かに片方からのみ出ている。
これで混乱は収集したか?
†
ONScripter:
昨日、amazonにて注文した
はにはに が明日届くようなので早速
ONScripter のコンパイルを開始。
SDL 周辺ライブラリが古いので再構築。
smpeg関係でエラー。
undefined reference to `operator delete(void*)'
undefined reference to `operator new[](unsigned)'
とか言われる。
これってコンストラクタとデストラクタぢゃねーかよ。(一応、これくらいは分かる。)
何か基本的なことろで致命的なミスがありそう。
ぐぐって みると、gcc-3.x系だとstdc++をリンクしてやらんと駄目っぽい。
案の定、stdc++をリンクしてやると構築出来た。
次にSDL_smixserのconfigureでエラー。
smpeg同様に-lstdc++が無いと駄目。
こっちはsmpeg-configに-lstdc++を追加。
が、まだ駄目。
どうもconfigureスクリプトがヴァカな所為か生成するチェックプログラムがヘンになる
ようなので手動で修正。
これでconfigureが通るようになったり、コンパイルが始まったが途中、expが無いと言ってエラー。
算数ライブラリがリンクされていないようなので-lmを付加。
なんかボロボロだな。
やっと、ONScripter本体のコンパイルに漕ぎ着けたが、avifile関係でエラー。
面倒いので取り敢えずAVIは使わんことで回避しようとしたが、上手く回避出来ん。
仕方ないのでavifileをコンパイルすることにした。
しかし、LDT_Keeper云々、modify_ldt_ldt_s array云々というエラー。
これって
以前、対策した ことがあるな。
ただ、もう遅いので時間切れ。
明日考えることにした。
うーむ、Linux-2.6系&gcc-3.xな環境でのONScripterの構築には一癖ありそうだ。
つーか、UNIXでゑろゲをするためにここまで必死なオレって...
*1: トポロジーの関係で一部の計算機はeth0とeth1に継がっている。
そんな感じで、両方のインターフェースからARP応答が来ると混乱してしまう。