*BSDでBBルータを作ろう互助会 4pps
ああ、なんか見付からんと思ったら スレタイが*BSDに変ってた。 変にスレの名前を変えるから、まだ次スレがないもんだと思って作っちまったじゃないか。 http://pc10.2ch.net/test/read.cgi/unix/1172391997/ この子を作った責任をだれか取ってくれ。 おれは *BSDで より FreeBSDで の方が良いと思うけどな。 *BSDにまたがる話題は主にルータ全般とか基礎がらみの話になるんで、それならLinuxだってWindowsだって含めていい。 *BSDという中途半端なくくりにする意味があまり感じられない。 旧スレで中心の話題の一つだったmpdって他のBSDで使えるのか? ちょっと古いのはhttp://pkgsrc-wip.sourceforge.net に既にあるのを知らずに 作っちゃったんだけど、linuxigd-1.0(upnpd)をFreeBSD上のpfで動かすように したportsって需要ありますか? >>13 どっちでもいいんじゃない? スレ数の節約としては*BSDでいいだろうし、 そいういう趣旨とていはFreeBSD限定でもいいし、 スレ数の節約という意味ではUNIXでBBルータを作ろう互助会でもいいかもしれないし。 *BSDになるとNASとかのアプライアンス機器の話題もできそうで良いかも。 ていうか、いっそ "*BSD" も外せよ。 Linux以外なんでも可でいいだろ。 UNIXでBBルータを作ろう互助会説か それでもいいかもね Linuxでいうbondデバイスをng_etherとng_one2manyをなんとか入れたけど、、、 でかいファイルをupとかdownすると落ちる。。。。 たぶんメモリの割り当てが小さいと思うんだけど、、そのあたりをカーネルに指示する方法、ありませんか? >>26 どういう構成でどういう設定をしたの? いや、適切なアドバイスとか出来るかどうかわからないけど。 >>27 最初はここを参考にした→http://blog.milkcup.jp/tahkun.php?itemid=210 でもケーブルを抜くと50%パケットロスになるからいろいろ調べて、 で、最終的にここに辿り着いた→http://lists.freebsd.org/pipermail/freebsd-net/2005-February/006500.html ↓みたいな/etc/rc.localを置いてある #!/bin/sh bge0_mac="00:11:22:33:44:55" ifconfig bge0 up ifconfig bge1 up kldload ng_ether kldload ng_one2many kldload ng_eiface ngctl mkpeer bge0: one2many lower many0 ngctl connect bge1: bge0:lower lower many1 ngctl msg bge1: setenaddr $bge0_mac ngctl mkpeer bge0:lower eiface one ether ngctl msg bge0:lower.one set $bge0_mac ngctl msg bge0:lower setconfig "{ xmitAlg=1 failAlg=2 enabledLinks=[ 1 1 ] }" #この時点でngeth0デバイスができている ngctl mkpeer bge0: one2many upper one ngctl connect bge0: bge0:upper lower many0 ngctl connect bge1: bge0:upper lower many1 ngctl msg bge1: setpromisc 1 ngctl msg bge1: setautosrc 0 ngctl msg bge0:upper setconfig "{ xmitAlg=1 failAlg=1 enabledLinks =[ 1 1 ] }" ifconfig ngeth0 inet 192.168.1.100 netmask 255.255.255.0 長いので続きます。。 >>28 の続き これで中からと外からの両方からpingを打ち続けながらLANケーブルを抜いてみたんだが 0%パケットロス(つまり成功!) で、喜んでそのままいくつかのportsを入れてる途中でinterfaceが落ちまくったんで、、、 ng_etherをやめて、bge0にip addressを振ってみたら全然落ちない。。。 というわけです。 なるほど興味深い それから interfaceが落ちまくった時の、なにかしらメッセージとかログとかがあればおいておくのがいいかも。 それから使用しているFreeBSDのバージョンとか。参考にしているリンクからすると5.xなのかな? さらに、あんまり関係ないとおもうけどbge0とbge1がつながっている機器が何かとか。 >>30 ログには何も書かれてないですねぇ。。。 コンソールには確認できないけど、何か書いてあるかもしれないな。 ↓環境周りの情報 ハード: Dell PowerEdge860 CPU: Intel(R) Pentium(R) D CPU 2.80GHz (2800.11-MHz 686-class CPU) FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0: <ACPI CPU> on acpi0 cpu1: <ACPI CPU> on acpi0 SMP: AP CPU #1 Launched! 本当は4GB積んであるけど、500MBはなぜか認識せず。(これは放置w) real memory = 3757834240 (3583 MB) avail memory = 3678466048 (3508 MB) #uname -a FreeBSD myhostname 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Sun May 7 04:42:56 UTC 2006 root@opus.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP i386 ああbgeがつながっている本体もそうだけど、スイッチかなにかにつながっているとおもうので その機器を周辺情報として分かったらなにか足しになるなかなならないかな とか >>28 なんか、この設定だと、one2manyノードを2個作ってる気がするんだけど、正しい? ngctl mkpeer bge0: one2many... やってるのが2行あるって意味ね。 freebsd-netのメールにある2種類の設定の、どちらとも違う設定をしている気がする。 >>32 ただのsw。特に何の特徴もない。 >>33 man ng_etherするとupperとlowerがdevice layerかprotocol layerかの違うとあるからmkpeer bge0 one2many [upper|lower] しているのは問題ないと思います。 >>34 ngctl listしてみなよ。one2manyが2個出来てるはず。 >>35 とすると、2つめのngctl mkpeer bge0の行を削除かな。 とは逝っても、今はすでにサービスが稼働してしまっているから テストマシンで試してみるかな。 #確かにそういわれればまずいと思いますね。。。 netgraph いじりする場合には、graphics/graphviz 入れて、 ngctl dot | neato -T png -o hoge.png で、hoge.png を見てみると、netgraph node の接続を確認できていいかも。 mpd の動いてるマシンでやると、なかなか楽しい。 ただ、graphics/graphviz は http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/110060 にあるパッチをあてないと動かないみたいだけど。 >>37 おもしろい! fontconfig: Couldn't retrieve font family name. がたくさん出るけど画像は出るし。 urwfontsかurwfonts-ttfいれる これ、基本。 わーい! >>38 のメッセージはでなくなったよ! でもフォント入れないほうが字は読みやすいけど >>15 miniupnpdで格闘したんだけど、udpのリダイレクトってpfではかなり厄介だった。 結局natとrdrの両方ルールを作る事にしたけど、linux-igdではどうやってる? >>41 うちは rdr pass on <ext_if> proto <protocol> from any to (<ext_if>) port <outer_port> -> <inner_ip> port <inner_port> でやってます。 いいかげんかもしれないけど、自分の使ってる範囲ではこれで動いてるようなので…… 内→外の nat については、/etc/pf.conf で特定のポート以外 keep state で pass させちゃってます。 NetBSDでも pf が使えるようになったみたいだけど ipfに比べてパフォーマンスはどうなんでしょう? netbsd-3.1のpppoe接続なんだけど、つながらないのでキャプチャしたところ、 PPP-LCPのネゴのConfiguration Requestの中でMRUサイズを1500bytesで リクエストしてしまいます。 プロバイダ側がConfiguraion NakでMRUサイズを1492bytesで返してくるん だけど、netbsd側が再びMRU:1500でリクエストをしてこれを何度も繰り返して 結局pppoeがterminateしてしまい再接続リトライを繰り返している模様・・・ pppoeってヘッダが8byteあるからJumboフレーム通せる装置じゃない限り MTU・MRUが1500ってことはありえない気がするんですが。 netbsdのpppoeネゴでMRUを指定する方法ないですかね >>47 値段が安くて低消費電力、実装面積もまあまあ小さくてPQFPだから実装も楽。 負荷がかかるような使い方をしない組み込みの世界では人気あるからだろうね。 >48 82550も十分条件を満たしていると思うが。 *BSDにスレ名が変わったので。 UNIXでルータ作るならどのプラットフォームが一番パフォーマンスいいですかね FreeBSD とか NetBSD とか OpenBSD とか ***Linux とか比較して >>53 何かソースとなるデータがあればURLきぼん >>52 BSD三兄弟の中ではおそらくFreeBSDだと思う。 しょぼいCPU限定でならFreeBSD4系がいちばん速いと思う。 6系はカーネル自体がちと重い。 ただ4系はディスコンなのでそのあたりが痛し痒し。 >>56 ルータースレなのでアレだけど、ボトルネックになりがちなファイルシステム が6系は軽いので4系が一番速いとは言えない場合も多くなった。 まあそこはしょぼいCPUそ前提に話をした56の意を汲むってことで >>61 ナニをいっているのですか? しょぼくないCPUを使っているならそれでもいいんじゃない? FreeBSDのports、 mpd-4.1 → mpd-4.2 にあがってたので portupgradeしたら・・・ PPPoE張る旅に defaultルートが設定されなくなった。 mpd.conf には set iface route default はもちろん書いてるのだが。 4.1からmpd.confはな〜にもいぢってない。 いちいち手打ちでデフォルトルート打ってる。 めんどう。 俺のmpdはいまだに3.18だぜ FreBSD-7.0だと4.xじゃないとだめだけどな!(だっけ? >>67 もう気づいてるかもだけど、mpd-4.2.1で直したってさ。 portsも更新済みだそうで。 PPPoEマルチセッションはできるようになってないのか・・・ >>68 そなのか? いつ頃から??? うちじゃ -current + 3.18 で元気に動いてるんだが??? # っても, 2月ほど前の -current だが... >>73 単なる勘違いであることは想定しておいてね! FreeBSD 6.2-STABLE + mpd-4.2.2 なんだけど、手で open しないと繋がらない。 set iface disable on-demand はしてあるんだけど、何を忘れてるんだろう? mpd_enable="YES"を/etc/rc.confに書き忘れ? まだmpd-4.xを使ったことがないエスパー参上。 mpd.confにopen iface mpd.linksにset pppoe enable originate があるかどうか。 >>76 えと、書いてあるし、ps すると動いてるし、ng0 とかも出来てる。 localhost 5005 に telnet して、手で open すると繋がる。 >>77 その辺は大丈夫。 つか、mpd-3.x から持ってきたのを mpd-4 用に一部直して使ってる。 最初、Label 'startup' not found とか言われて、なんじゃこりゃ、と。 で、mpd-3 の時には普通に繋がってたのよ。 >>78 startup: 以外にもいろいろmpd.confなんかの記法が変わっているけど そのへんは書き換えた? mpd.conf.sampleなら PPPoE:の項と比較してみるとか あ、FreeBSD-6.2R で mpd4.2.2で別に手でつながなくても動いているね 目立った違いは new の後に -i がないとか set bundle authname じゃなくてset auth authnameだとか open iface でなくて open だとかぐらいかな? >>80 >open iface でなくて open だとかぐらいかな? これだった orz 無事繋がるようになりました。 で、mpd-4.xって mpd-3.x にと比べていいことってなにかある? 管理ポート にtelnet 出来るとか? http://mpd.sourceforge.net/doc/mpd5.html これでも読みやがれですぅ >>83 よく知らんけど、普通に yahoo とかに繋がるとか? >>84 mpd-3.xではだめだったの? 手元では普通につながるけど >>85 それはお前がべつのところでmax-mssや mssclampをセットしているからやー ってことか なるほどね >>83 WEBインターフェイスが便利だ、 それと mpd3 は知らないが取得した dns サーバアドレスがスクリプトに渡せるのも助かる ところで、切断からの自動接続ってどうするのがスマートなの? >>88 > ところで、切断からの自動接続ってどうするのがスマートなの? 同じく、今まさにハマっていたところ... set link max-redial 0 と set bundle disable noretry を試してみたけど、ダメでした... # とりあえず、mpd3 に戻した... orz >>89 それじゃ、ping と /usr/local/etc/rc.d/mpd4 restart 組み合わせるかなぁ〜 >>90 だったら ping 打ちっぱなしの、on-demand はどーでしょう? >>89 うちでは、 set link max-redial 0 set bundle no noretry で、イーサネットケーブル抜いて切断確認→差し直して再接続ができてるけど、 切断からの自動接続ってそういう意味ではない? >>94 そういう意味です。なりました! ありがとー。 その2行、片方ずつしか試してなかった。。 orz # というわけで、mpd4 に復帰 (*´Д`*) ありゃりゃ、ping テスト & リスタートのスクリプト作っちまった…orz 既出かもしれないが、PF で priq queue 4個(default 含む)を追加してオーバヘッド見るため http://speed.rbbtoday.com/ でスピードテストしてみた。 queue無:下り 47Mbps、上り 27Mbps queue有:下り 1.3Mbps、上り 61Kbps 回線:Bフレッツマンション + hi-ho CPU:celeron 800MHz メモリ:128MB WinXP --- LAN --- [mdp+pf ルータBOX] --- WAN こんなものなのか? どういうALTQの設定をしてるのか晒してない以上、何とも。 あと、オーバーヘッド見るならdefault一個でいいんでない?とか。 何のオーバーヘッド見たいのか知らないけど。 どういう設定をしてそうなったのかを書いてもらえると 参考になるかもならないかも 設定と言っても単なるプライオリティキューなので以下のようなものです。 OSunam:FreeBSD 6.2-STABLE (前日にビルド) キューは4個、テスト時はネット的にも CPU 的にも他の負荷はほとんど無し。 altq on $ext_if priq queue { vnc, webserver, dflt, ftp } queue vnc priority 9 priq queue webserver priority 7 priq queue dflt priority 5 priq (default) queue ftp priority 2 priq rdr on $ext_if inet proto tcp from any to ($ext_if) port http -> 192.168.0.22 … pass in quick on $ext_if proto tcp from any to 192.168.0.22 port http flags S/SA keep state queue webserver … read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる