FreeBSDでBBルータを作ろう互助会 3Gbps
■ このスレッドは過去ログ倉庫に格納されています
0001名も無きfxp25
NGNG「PPPoEの方法」
「NATにする方法」
「NICを2枚使う方法」
「ファイヤーウォール設定・セキュリティ対策」
その他なんでもいいからここで質問&アドバイスして輪を広げてこう。
悪質ブロードバンドルーター製品逝ってよし!
最近のブロードバンドルータは安くて速いぞ。遅くてヘボいルーター作るなよ。
前スレ
FreeBSDでBBルータを作ろう互助会
http://pc.2ch.net/test/read.cgi/unix/1038060563/
FreeBSDでBBルータを作ろう互助会 2Mbps
http://pc5.2ch.net/test/read.cgi/unix/1060660932/
関連サイト
pf:http://www.openbsd.org/faq/pf/ja/index.html
0723名無しさん@お腹いっぱい。
2006/05/22(月) 22:52:16ありがとう
natって言葉につかまってた
0724名無しさん@お腹いっぱい。
2006/05/28(日) 18:52:16多分device timeoutってメッセージが出て通信出来なくなるヤツだよね?
それなら、パッチが出てるよ。
あと、ndisでWindows用を使った方が無難な気がするんだけど・・・
えらいトリッキーな方法だけど、少なくとも現状よりは無難に思えるくらい。
あっちは普通に安定するらしい。
ところで、ndisを使った場合のスループットの低下って無いのかな?
一応無駄なオーバーヘッドが増えないわけではないのだし・・・。
100Mや1000Mの範囲では殆ど問題にならないオーバーヘッドなのかな?
0725名無しさん@お腹いっぱい。
2006/06/01(木) 19:16:070726名無しさん@お腹いっぱい。
2006/06/08(木) 22:41:44kwsk
0727名無しさん@お腹いっぱい。
2006/06/14(水) 18:23:19例えば
int_if0 = "fxp0"
table <works_zone> { 172.30.10.0/24 }
table <guest_zone> { 172.30.100.0/24 }
block log all
pass quick on lo0 all
pass in on $int_if0 from <works_zone> to any
pass out on $int_if0 from !<guest_zone> to <works_zone>
pass in on $int_if0 from <guest_zone> to !<works_zone>
pass out on $int_if0 from any to <guest_zone>
これを試してみたら<guest_zone>→<works_zone>が通ってしまう...
0728名無しさん@お腹いっぱい。
2006/06/14(水) 18:43:140729名無しさん@お腹いっぱい。
2006/06/14(水) 19:06:30ブリッジなんじゃないの?
と良心的に解釈
0730727
2006/06/15(木) 11:32:31そんな初歩も知らないまま2年前から悩んでた...
0731727
2006/06/15(木) 12:10:16[ works_zone PC ] 172.30.10.2/24
|
|
[ スイッチングハブ ] ------------- fxp1[ FreeBSD ]
| 172.30.10.1/24
| alias 172.30.100.1/24
[ guest_zone PC ] 172.30.100.2/24
0732名無しさん@お腹いっぱい。
2006/06/15(木) 12:43:41arpとかのパケットは筒抜けになるって事じゃないかなぁ?
0733727
2006/06/15(木) 12:59:200734名無しさん@お腹いっぱい。
2006/06/17(土) 06:43:570735名無しさん@お腹いっぱい。
2006/06/27(火) 03:49:14VIAのドライバがコンパイルできませんorz
bus_pio.h と bus_memio.h が無いとか言われるんだけど・・・・
0736名無しさん@お腹いっぱい。
2006/06/27(火) 11:41:23で、"無いとか言われる"って、そんな情報でどうやって調べろと。
エラーログコピペするぐらいしろって。
0737735
2006/06/27(火) 23:22:06スマソ
無いとか言われるというより、
machine/bus_pio.h と machine/bus_memio.h
この二つを ドライバのソースで include してるんだけど、
この2つのファイルが無くてコンパイルが出来ないのです。
0738名無しさん@お腹いっぱい。
2006/06/27(火) 23:59:30FreeBSD 6.1はVIA VT6122のドライバをvgeで標準実装しているし、
machine/bus_pio.h と machine/bus_memio.h は include してないよ。
# cd /usr/src/sys/dev/vge
# ls -l
total 94
-rw-r--r-- 1 root wheel 58456 3 18 06:30 if_vge.c
-rw-r--r-- 1 root wheel 30196 1 6 2005 if_vgereg.h
-rw-r--r-- 1 root wheel 5728 6 11 2005 if_vgevar.h
# grep -n machine/ *
if_vge.c:108:#include <machine/bus.h>
if_vge.c:109:#include <machine/resource.h>
bus_pio.h と bus_memio.h ってFreeBSD 5系のヘッダのような・・・
君の言うVIAのドライバって?何処から持ってきた?/usr/src/sysは6.1用?
嫌な予感がするので先に忠告しておくが、その程度の知識でNIC二枚刺しは危険。
稼働は実験室だけにして、決してInternetには接続しないように :-P
0739名無しさん@お腹いっぱい。
2006/06/28(水) 09:19:59ttp://www.jp.FreeBSD.org/cgi/cvsweb.cgi/src/sys/dev/vge/if_vge.c?rev=1.3.2.4&content-type=text/x-cvsweb-markup
で、R6.1のGENELIC kernelだとvgeは有効で
それこそ挿せば認識するのだが、あえて外した
kernelを作ったのか?
0740名無しさん@お腹いっぱい。
2006/06/29(木) 03:45:10(略)
rdr pass on $ext_if proto udp from any to ($ext_if) -> $nds_wifi
# Default
block return-icmp(port-unr) log all
# Nintendo DS
pass quick on $ext_if proto udp from any to any keep state
(略)
NintendoDSでWiFi対戦するためにこんなpf.confにしてるけど
pflogを眺めてみるとrdrされてないUDP通信があったりblockされてるUDPがあったりと
精度がビミョー…
0741名無しさん@お腹いっぱい。
2006/07/11(火) 12:02:49nat/ポートフォワードの設定は
ext_if="fxp0"
int_if="fxp1"
ftp_ip="192.168.0.16"
table <server_net> { xx.xx.xx.xx1, xx.xx.xx.xx2 }
nat on $ext_if from $int_if:network to any -> ($ext_if)
rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021
rdr on $ext_if proto tcp from <server_net> to ($ext_if) port { ftp-data, ftp } -> $ftp_ip
フィルターでブロックはしていません。
0742741
2006/07/11(火) 12:08:02Data connection from 192.168.0.1 did not originate from remote server xx.xx.xx.xx1!
というエラーが出ます。
私の推測だと21番ポートと20番ポートをやりとりしているipが違うからだと思っています。
現状のpassive出の接続はそのままで特定のサーバーだけactiveで接続する方法を教えてください。
よろしくお願いします。
0743名無しさん@お腹いっぱい。
2006/07/11(火) 23:42:170744741
2006/07/12(水) 23:18:40一応pf,pf.conf,ftp-proxyは全て目を通したのですが、
私の目が節穴なんだと思うんですが解決に至っていません。
リスト取得の際にnat内のipでデータを取得しにいっているのではないかと
思っているのですが、どうすればいいのかわかりません。
ftp-proxyがうまく動かせていない気がします。
ftp-proxyはinetd.confのにかかれているもののコメントアウトを外して動作させていますが、なにかオプションをつけて起動させないと行けないのでしょうか?
0745名無しさん@お腹いっぱい。
2006/07/12(水) 23:50:07FreeBSDの現行のftp-proxyはしょぼいから、ftp/pftpxを利用おすすめする。
OpenBSD3.9ではこっちに変更になってる。
設定方法はmanなりPF User's Guideを参考に。
0746名無しさん@お腹いっぱい。
2006/07/13(木) 00:01:12ftp-proxy って IP 付け替えやってくれないんじゃなかったっけ?
>>742 みたいにデータ接続の送信元IP が違うって怒られる場合は
ftp-proxy 使っても意味無いと思ってたんだけど。
0747741
2006/07/13(木) 12:04:56pftpxですね。入れてみます。
>>746
ftpの動作自体あまり詳しくわかっていたいので、
みなさんから見ればおかしなことを言っているのだと思います。
私の頭の中ではlsでのデータ取得する場合の動作は
1.postコマンドでサーバーに情報を送る(nat内pcの情報)
2.listコマンドをサーバーに送る
3.サーバーから接続される(pfが動いているゲートウェイ)
4.postコマンドで送ったipと接続したipが違うのでサーバ側が切断
という感じで動いているのではないかと思っています。
この認識で間違いないでしょうか?
0748名無しさん@お腹いっぱい。
2006/07/13(木) 13:45:320749741
2006/07/14(金) 00:22:58うまく説明できなくてすいません。
3をもう少し詳しく書くと
3-1.ftpサーバーの21番ポートからゲートウェイに接続が来る
3-2.ftp-proxyがnat内のftpクライアントに通知(passive接続ができているのでこれは通っていると予想)
3-3.ftpサーバーの20番ポートからゲートウェイの1で通知したポートに接続が来る
こんな感じなのではないかと思っています。
参考として下記の説明と図をみて考えました。
http://www.jp.freebsd.org/QandA/HTML/2073.html
http://slacksite.com/other/ftp.html
0750名無しさん@お腹いっぱい。
2006/07/14(金) 01:11:04たしか、
1-1 クライアントが制御接続で PORT を送出。
1-2 ftp-proxy がクライアントの PORT を握りつぶす。
1-3 ftp-proxy がサーバへ制御接続で自前の PORT を送出。
1-4 サーバが制御接続でコマンド成功だったかをクライアントに返信。
2 クライアントが制御接続で LIST を送出。
3-1 サーバがデータ接続で ftp-proxy によって示された IPアドレス、port に接続
3-2 ftp-proxy がデータ接続でクライアントによって示された IPアドレス、port に接続
4-1 クライアントはサーバからの接続を期待したのに
ftp-proxy から接続されたので詐称っぽいと警告を出す。
WindowsXP SP1 だったか SP2 だったかの
パーソナルファイアーウォールも ftp-proxy の中継だとブロックする。
そんときに調べた記憶だと、こんな感じだったかと。
PASV使えば、一応解決するんだけどね。
0751741
2006/07/14(金) 08:39:58詳細な解説ありがとうございます。
確かにpassiveだと大丈夫です。
ただ、私の管轄外のftpサーバーがactiveでしか接続を受け付けない
仕様になっているのでほとほと困っています。
とりあえずこの接続だけpfのゲートウェイを介さず
接続することにします。
あとはftp/pftpxを入れてみます。
0752名無しさん@お腹いっぱい。
2006/07/14(金) 08:52:02これなら文句言われずに動きそう。
0753名無しさん@お腹いっぱい。
2006/07/17(月) 20:28:59ftp使うのを止める方が先だと思う
0754名無しさん@お腹いっぱい。
2006/07/19(水) 13:55:520755名無しさん@お腹いっぱい。
2006/07/19(水) 17:15:080756名無しさん@お腹いっぱい。
2006/07/19(水) 17:54:390757名無しさん@お腹いっぱい。
2006/07/19(水) 22:58:310758名無しさん@お腹いっぱい。
2006/07/20(木) 00:49:25○ブリッジにしたNIC2枚のところでDHCPサーバをうまく動かす事は私には出来ないっぽいですね。
0759754
2006/07/20(木) 02:49:31rl0: inet 192.168.1.1, rl1: アドレスなし, rl0とrl1をブリッジ
としてisc-dhcp-serverを起動した時に
Listening on BPF/rl0/02:xx:xx:xx:xx:d5/bridge
Sending on BPF/rl0/02:xx:xx:xx:xx:d5/bridge
と出る環境でWindows XPなクライアントを接続した場合、
rl0の方につなげた時は問題ないんだが、rl1の方につないだ場合
MACアドレスがrl1の192.168.1.1に対して再取得を試みるが応答が得られない。
で数回リトライしているうちにarpの期限が切れたのか、
再取得を試みる相手をMACアドレスff:ff:ff:ff:ff:ff、IPアドレス255.255.255.255の
ブロードキャストに切り替えてリトライをする。
で、その時はrl1からrl0のブリッジが利くのかアドレスを取得できる。
この無駄っぽいリトライが気持ち悪かったりするけどいいのかな?
0760名無しさん@お腹いっぱい。
2006/07/20(木) 10:06:360761754
2006/07/20(木) 12:33:26やはり>>759と同じ挙動でリース期限内で最後にあたるリトライ(?)でブロードキャストに切り替えて
何とか更新するって感じになります。
Multiple interfaces match the same 〜な警告が出たままだとDDNSが
うまく動かなかったりするし、うーんうーん。
0762名無しさん@お腹いっぱい。
2006/07/26(水) 16:06:01環境はこんなかんじです。
PC_A --- ルータ --- FreeBSD4.9 --- PC_B
ルータ:PPPoEクライアント
FreeBSD:PPPoEサーバ
ルータ〜FreeBSDのリンクローカルアドレス(IPv6CP InterfaceIDで生成)でのping6は可能。
PC_AからPC_Bにping6を実行すると、FreeBSDまで届くが、FreeBSDがPC_Bに転送してくれない。
PPPoEを使用しない場合は、PC_AからのパケットをPC_Bに転送してくれるんですが…
ちなみにサーバとクライアントを入れ替えても、やはりFreeBSDから先に転送してくれません。
どうすればPPPoEトンネルで受信したIPv6パケットを転送してくれるようになりますか??
0763名無しさん@お腹いっぱい。
2006/07/27(木) 00:28:32質問の仕方をどこかで学習してから出直してください。
0764名無しさん@お腹いっぱい。
2006/07/27(木) 08:07:48質問への答え方をどこかで学習してから出直してください。
0765762
2006/07/27(木) 09:50:05PPPoEカプセルされたIPv6パケットをFreeBSDがルーティングしてくれません。
しかし、PPPoEカプセルされていないパケット(Ether+IPv6)は、ちゃんとルーティングしてくれます。
PPPoE+IPv6をルーティングする方法を教えてください。
0766名無しさん@お腹いっぱい。
2006/07/27(木) 11:16:050767762
2006/07/27(木) 12:40:57>762の接続でPC_AからPC_B宛にパケットを出したら、FreeBSDまでは届いて、PC_B側に出してませんでした。
FreeBSDの左側のI/Fをfxp0として、fxp0にPPPoEをbind(?)してます。
fxp0でパケットキャプチャすると、PC_AからのパケットをPPPoEで受信しています。
PPPoEセッションが張られた際にできるtunXのI/Fでパケットキャプチャすると、tunXには届いていませんでした…
PPPoEで受信したパケットが処理される時は、tunXを通過しますよね?
0768名無しさん@お腹いっぱい。
2006/07/30(日) 18:59:090769名無しさん@お腹いっぱい。
2006/08/25(金) 11:05:14mpd(ng_ppp)でも利用しているので、バージョンアップ必要。
0770695
2006/08/30(水) 18:44:31PPPoEではまっています.ISPはnifty,キャリアはフレッツ光プレミアムです.
どなたか助けていただけないでしょうか...
mpdをフォアグラウンドで動かすと下記のようになります.
# mpd
Multi-link PPP for FreeBSD, by Archie L. Cobbs.
Based on iij-ppp, by Toshiharu OHNO.
mpd: pid 11484, version 3.18 (root@example.com 14:54 31-Jul-2006)
[nifty] ppp node is "mpd11484-nifty"
[nifty] exec: /sbin/ifconfig fxp0 up
[nifty] using interface ng0
[nifty] IPCP: peer address cannot be zero
[nifty] IFACE: Open event
[nifty] IPCP: Open event
[nifty] IPCP: state change Initial --> Starting
[nifty] IPCP: LayerStart
[nifty:PPPoE0] [nifty] bundle: OPEN event in state CLOSED
[nifty] opening link "PPPoE0"...
[PPPoE0] link: OPEN event
[PPPoE0] LCP: Open event
[PPPoE0] LCP: state change Initial --> Starting
[PPPoE0] LCP: LayerStart
[PPPoE0] device: OPEN event in state DOWN
[PPPoE0] device is now in state OPENING
[PPPoE0] PPPoE connection timeout after 9 seconds
[PPPoE0] device: DOWN event in state OPENING
[PPPoE0] device is now in state DOWN
[PPPoE0] link: DOWN event
[PPPoE0] LCP: Down event
0771770
2006/08/30(水) 18:49:42# cat mpd.conf
default:
load nifty
nifty:
new -i ng0 nifty PPPoE0
set iface route default
set bundle authname hogehoge@nifty.com
set iface up-script /usr/local/etc/mpd/mpd.linkup.nifty
set iface down-script /usr/local/etc/mpd/mpd.linkdown.nifty
load client_standard
client_standard:
set bundle disable multilink
set iface disable on-demand
set iface idle 0
set link no acfcomp protocomp
set link disable pap chap
set link accept chap
set link mtu 1438
set link mru 1438
set ipcp yes vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
open iface
# cat mpd.links
PPPoE0:
set link type pppoe
set pppoe iface fxp0
set pppoe service "nifty"
set pppoe disable incoming
set pppoe enable originate
0772エスパー
2006/08/31(木) 00:30:17authnameは?
0773名無しさん@お腹いっぱい。
2006/08/31(木) 06:46:55http://pc8.2ch.net/test/read.cgi/isp/1156408831/
0774名無しさん@お腹いっぱい。
2006/08/31(木) 07:37:09ttp://flets-w.com/hikari-p/topics/060813_topics.html
PPPは詳しくないので勘ですが、mpdのログを見た感じではCTUでPPPoEを
使う為の設定変更がうまく行ってないような。
CTUガイドブック第5版(2006年8月13日)のP101、PPPoE機能設定はやりましたか?
一般のFTTH回線の場合、運用予定が無くてもWin(or Mac)でのPPPoE接続が可能か
チェックしておいた方が良いかと思います。
FreeBSDの設定なのか他の問題なのかの切り分けにもなるし、
仮に今後、電話サポートに問い合わせる事になった場合、@niftyは
Win(or Mac)での結果を言わないと話を聴いてくれませんから……(^^;
家の6.1-RELEASE-p5, mpd + pf, nifty Bフレッツ・ファミリー100では
光プレミアムの検証はできませんが、771のmpd.confとmpd.linksをコピーして
mtuとmruを1454に、authnameとifaceを家の環境に修正した物では繋りました。
0775名無しさん@お腹いっぱい。
2006/08/31(木) 10:32:400776770
2006/08/31(木) 11:43:51>CTUガイドブック第5版(2006年8月13日)のP101、PPPoE機能設定はやりましたか?
はい.ですからWindowsXPからのPPPoEは問題なくできてます.
なので,なぜmpdでのPPPoEができないのかが謎なんです.
0777名無しさん@お腹いっぱい。
2006/08/31(木) 12:38:35>なぜmpdでのPPPoEができないのかが謎なんです.
BフレとプレミアムじゃPPPoEサーバの仕様が違うんだからそのままで繋がるとは限らない。
プロトコルに『謎』なんてないんだから自分で調べる気(能力)がないならキャプチャ。
0778770
2006/08/31(木) 16:23:10# tcpdump -i fxp0
tcpdump: WARNING: fxp0: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on fxp0, link-type EN10MB (Ethernet), capture size 96 bytes
12:55:40.907460 PPPoE PADI [Host-Uniq 0x40C6BAC3] [Service-Name "nifty"]
12:55:42.906706 PPPoE PADI [Host-Uniq 0x40C6BAC3] [Service-Name "nifty"]
12:55:46.906606 PPPoE PADI [Host-Uniq 0x40C6BAC3] [Service-Name "nifty"]
12:55:54.910944 PPPoE PADI [Host-Uniq 0x00C5BAC3] [Service-Name "nifty"]
12:55:56.910375 PPPoE PADI [Host-Uniq 0x00C5BAC3] [Service-Name "nifty"]
12:56:00.910286 PPPoE PADI [Host-Uniq 0x00C5BAC3] [Service-Name "nifty"]
12:56:09.912701 PPPoE PADI [Host-Uniq 0x40C0BAC3] [Service-Name "nifty"]
12:56:11.912034 PPPoE PADI [Host-Uniq 0x40C0BAC3] [Service-Name "nifty"]
12:56:15.911939 PPPoE PADI [Host-Uniq 0x40C0BAC3] [Service-Name "nifty"]
12:56:24.915262 PPPoE PADI [Host-Uniq 0xC0DB98C3] [Service-Name "nifty"]
12:56:26.914692 PPPoE PADI [Host-Uniq 0xC0DB98C3] [Service-Name "nifty"]
0779名無しさん@お腹いっぱい。
2006/08/31(木) 16:41:43Service-Nameなんて使うのかYo!!
> set pppoe service "nifty"
を消すか、""だけにしてみ
0780770
2006/08/31(木) 19:06:23set pppoe service ""
にしたら繋がりました.ありがとうございます!!
ただ,フレッツスクウェアとのマルチセッションをやろうとして
下記のようなmpd.linksにすると,niftyの方だけ繋がって
フレッツの方には繋がりません.いちおうng1というインタフェースは
現れるのですが.
PPPoE0:
set link type pppoe
set pppoe iface fxp0
set pppoe service ""
set pppoe disable incoming
set pppoe enable originate
PPPoE1:
set link type pppoe
set pppoe iface fxp0
set pppoe service ""
set pppoe disable incoming
set pppoe enable originate
0781名無しさん@お腹いっぱい。
2006/08/31(木) 21:17:28つながりましたかぁ。良かったですね。
マルチセッションもFreeBSD使わないのでdと見当が付きません。
というわけでキャプチャ・・・
0782名無しさん@お腹いっぱい。
2006/08/31(木) 22:27:54繋がらないって、どういう状況ですか?
PPPoEに失敗するとか
PPPに失敗するとか
成功してるっぽいけどアドレス付いてないとか、
デバイスがダウンしたままとか、
いろいろ確認してみることはあるだろ。
そもそもPCでマルチセッションでフレッツスクエアと共存しようとしたら
ルーティングとかDNSまわりとか色々しなきゃいけないんじゃないかな?
そのへんはどうなのよ。
0783名無しさん@お腹いっぱい。
2006/08/31(木) 22:37:42(1)複数のPCで接続先を使い分ける場合の制限事項
フレッツ・スクウェアPPPoEを利用してインターネット接続等を行っているPCでは利用できません。
に該当すると思うのだが。
0784名無しさん@お腹いっぱい。
2006/08/31(木) 23:01:02ちなみに光プレミアムでPPPoEモードで市販ルータ使って
マルチセッション(ISP・速度測定・フレッツスクウェア)使用中。
0785名無しさん@お腹いっぱい。
2006/08/31(木) 23:05:03>>1
「最近のブロードバンドルータは安くて速いぞ。遅くてヘボいルーター作るなよ。 」
いいことかいてあるなぁ。
わかったか>>780
0786770
2006/09/01(金) 01:34:16長いのでサーバにアップしました.
ログを見る限り,PPPoEはEstablishして,アドレスも付いているっぽいの
ですが,実際にはng1にはアドレスは付きません.
tcpdumpの結果
http://casper.dyndns.org/~pppoe/tcpdump-log.txt
mpdのログ
http://casper.dyndns.org/~pppoe/mpd-log.txt
>>782
ルーティングはset ifaceで,名前解決はルータPCでbindを上げて
解決してます(というかプレミアムにする前はしてました).
>>784
それはないです.PPPoEセッション数は3に設定しています.
>>785
うーん,耳の痛い話で...
0787名無しさん@お腹いっぱい。
2006/09/01(金) 01:49:35なあ、おい。
もう少し自分で考えろよ。
> mpdのログ
> http://casper.dyndns.org/~pppoe/mpd-log.txt
おまえはログを見たのか?
接続できている方と、できていない方の違いは何だかわからんのか?
それともわかっていて書いていないのか?
おれはログを見てスクエアが通信できないのはわかったが、
回避の方法はわからんなぁ。
じゃ、がんばれ。
0788名無しさん@お腹いっぱい。
2006/09/01(金) 02:46:02>> set pppoe service "nifty"
>を消すか、""だけにしてみ
「消す」なんて嘘教えるなよ。
CTUとやらは知らんが、Fletsの仕様書では空文字列を指定することになっている。
0790名無しさん@お腹いっぱい。
2006/09/01(金) 16:16:320791名無しさん@お腹いっぱい。
2006/09/01(金) 19:42:07BSDも大好きだからww
Linuxならできるんじゃないのwww
0792名無しさん@お腹いっぱい。
2006/09/05(火) 11:22:04これはハマるよな。
>786
フレッツ光プレミアムの PPPoE 仕様はよく知らないけど、
>[nifty] exec: /sbin/ifconfig ng0 125.1.126.223 210.247.16.1 netmask 0xffffffff -link0
↑これやった後で、
>[flets] exec: /sbin/ifconfig ng1 10.183.9.179 210.247.16.1 netmask 0xffffffff -link0
>[flets] exec: command returned 256
↑やっても、リモートIP同じで失敗してるんでは。
マルチセッションで、なんで両方のセッションに同じリモートIP 210.247.16.1 が渡されてるんだろ。
うちのBフレッツ環境のマルチセッションでは、プロバイダ別に違うIPが渡されてるけど。…と思ったら、
|% whois 210.247.16.1
|
|inetnum: 210.247.16.0 - 210.247.16.31
|netname: CHIIKI-IP-NW
|descr: NIPPON TELEGRAPH AND TELEPHONE WEST CORPORATION
|country: JP
プロバイダじゃなくて、NTT西の地域IP網のアドレスですね…。
0793名無しさん@お腹いっぱい。
2006/09/05(火) 20:23:11そもそも論だが、リモート側のアドレスなんて、P-t-Pなんだから必要ない。
ルーティングに頼るからだめなんじゃないかな。
mpdは
ifconfigとrouteの書式が決め打ちだから、リモート側アドレスが同じだとダメなんだな。
さて、
mpd.confの
set iface up-script /usr/local/etc/mpd/mpd.linkup.nifty
の外部スクリプトは実行されている。
> [nifty] exec: /usr/local/etc/mpd/mpd.linkup.nifty ng0 inet 125.1.126.223 210.247.16.1 example@nifty.com
> [flets] exec: /usr/local/etc/mpd/mpd.linkup.flets ng1 inet 10.183.9.179 210.247.16.1 flets@flets
引数に必要な情報は全てあるんだから、外部スクリプトで頑張れば
なんとかなるかもしれんのう。
ポイントは
デバイスにアドレスを付けること、
routeコマンドのゲートウェイ指定をmanをよく読んでなんとかすること。
インタフェースが point to point 接続の場合、インタフェースをその名前で指定でき ます。
って書いてあるけど、ちゃんと動くのかな?
まあ、頑張れ。
ん?俺?NTT東エリアなんだよwww
0794名無しさん@お腹いっぱい。
2006/09/06(水) 00:16:42fletsスクエアへのPPPoE接続なくてもそのままつながりそうな気がするのは俺だけ?
0795792
2006/09/06(水) 13:51:18その手で回避できると思うけど、
mpd で ifconfig とか route コマンド叩いてるところを、
根本的にリモートIP使わないようにしたほうがいいような気がしてきた。
ちと試しにやってみます。というか、やらないとうちも明日からマルチセッション張れなくなるw
>794
不思議っていうか、頭悪すぎのネットワークだと思う。
身内(OCN)から突き上げ食らう糞仕様ってどうよ?
NTT東がうらやましい。
0796名無しさん@お腹いっぱい。
2006/09/06(水) 14:19:29両端のアドレスが必要っぽいから、むしろ ng0 と ng1 にアドレス付けずに
routing でがんばるほうがよさそうな気が……
いずれにしても、両方のリンク確立できたら、今度は policy routing の
ルール書かないといけなそうだなあ。
0797名無しさん@お腹いっぱい。
2006/09/06(水) 16:50:56ウチも光プレミアムに乗り換えてハマってる。
対処報告期待してるよ。
0798 ◆adkvDzVRv6
2006/09/06(水) 20:05:11BBルータを作りたいです。(もちろんBSD入れて)
自分が思うに、あともう1枚NICをつけて、スイッチングハブを買えば
有線ルータを構築できるのかなと思うのですが。
あと機材は何を用意すればいいのでしょうか?
0799名無しさん@お腹いっぱい。
2006/09/06(水) 20:34:400800793
2006/09/06(水) 20:38:51mpdのソース見たけど、ふーんな感じ。
OCNに何かいわれたの?
>>796
ifconfigリモートアドレス必須なのかorz
でもng0とng1にアドレスは必要と思う。
考えてみれば、必要の無いリモートアドレスが同じなのが問題なのだから、
違うアドレスを適当に付けちゃえば良いような気がする。
ng0 のリモートは192.168.254.253
ng1 のリモートは192.168.254.254
とか。適当といってもLAN内に無いプライベート空間で。
route設定はデバイス指定でやってみる、と。
あとは、当然ですが、ポリシルーティング設定とDNS設定をどうするか....。
うーん、やっぱり市販ブロードバンドルータは一生懸命やってるんだなぁ。
0801名無しさん@お腹いっぱい。
2006/09/06(水) 23:10:56ただし、パケットフィルターのルールからインターフェースアドレスを参照
できないので、アドレスを直接指定する必要がある。
pfは単独ルールだけの削除が出来ないので、ipfの方がこの用途には向いている。
ポリシールーティングは210.247.16.1が頑張るといってるので気にしないでいいでしょ。
0802792
2006/09/06(水) 23:29:48明日、フレッツ光プレミアムに移行して問題なければ、patch 公開します。
現状、Bフレッツ環境でリモートIPを一切使わないようにして、↓こんな風に繋がるようになった。
(ifconfig と netstat -nr の抜粋)
|ng0: flags=88c3<UP,BROADCAST,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1438
| inet aaa.bbb.ccc.ddd netmask 0xffffffff broadcast aaa.bbb.ccc.ddd
|ng1: flags=88c3<UP,BROADCAST,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1438
| inet eee.fff.ggg.hhh netmask 0xffffffff broadcast eee.fff.ggg.hhh
|Destination Gateway Flags Refs Use Netif Expire
|default ng0 US 0 16569 ng0
|xx.yy.zz/24 ng1 US 0 0 ng1
0803名無しさん@お腹いっぱい。
2006/09/06(水) 23:29:58>ポリシールーティングは210.247.16.1が頑張るといってるので気にしないでいいでしょ。
PPPのセッションとしては別なんだから、気にしなくて大丈夫かどうかは、
やってみるまでわからないのでは。
0804名無しさん@お腹いっぱい。
2006/09/06(水) 23:39:340805792
2006/09/06(水) 23:49:51>800
ng_iface には point-to-point mode だけじゃなく broadcast mode もあった (ng_iface(4)参照)ので、
そっちに切り換えるようにしてみたつもり。
>OCNに何かいわれたの?
自分が言われたんじゃなくて、NTT西がOCNから突き上げくらったらしいという話。
PPPoEサポートするようにしたのも、OCNからの文句が大きかったみたいよ。知らんけどw
(PPPoEなしだと、プロバイダから払い出されるグローバルIPをCTU配下のマシンに直接割り振るのが難しくなるので、
IP16/IP8等の固定IPサービスの自由度がかなり下がる)
>804
知らんw
不具合出てから考えるよ。
今のところ、Bフレッツでは incoming も outgoing もどっちも通信できてて不具合なし。
0806名無しさん@お腹いっぱい。
2006/09/07(木) 02:21:35IP16とかIP8のためのunnumbered接続と思ってたけど違うのかな?
高いメニューには縁がないからわかんないけど。
パッチ頑張ってください。
0807名無しさん@お腹いっぱい。
2006/09/07(木) 02:24:17NOARPだからBROADCASTでもいいのかもしれないけど、
かなり気持ち悪いですねぇ。
まあ、へんなネットワークだからしょうがないか。
0808名無しさん@お腹いっぱい。
2006/09/08(金) 10:57:550809792
2006/09/08(金) 11:38:52うまくいきました。
現在、PPPoEで3セッション(プロバイダA、プロバイダB、フレッツ・スクウェア)が繋がっています。
patch 捨てておきます。(gzip+b64encode)
>804 >807 のごもっともなご指摘がありますし、不具合があるかもしれませんので、自己責任でどうぞ。
begin-base64 644 patch-mpd-for-Flets-HIKARI-Premium-PPPoE.gz
H4sICEjVAEUAA3BhdGNoLWZvci1GbGV0cy1ISUtBUkktUHJlbWl1bQDlVF1v2jAUfS6/4ipStaRJ
2kCBIrp2MJpSNCAVpdrDNEVp4qQRwUZ20NpN/PddOwHK2mlIfZyVxLJ9v84517FtGwQPT2gSL2l4
HB4zniYHX0kEo+AZoAFOtV2ttWstqDlOvWKa5o65srwjC4Am1NCs2q6fSstmpdMBu15rWE0w5VSt
Q6dTATk4yZec6nbVOJcbqwpUTICTI4yTQ/5IIKU54XEQEsgZPHAWRGEgcpiziMDRiTROY9DHyR2h
0Ugk+oN9GQoWziyYuqPbG8/7YkkjOcb9kT+47vZcv4fbA9d6sfN54nWvet27KW7eD4cWOAZ8lJ9f
hfeQJfqw77uTiQW69u1QfIdD0cZXswBT0mBOLNDeiIfnIueEc8Z1/FJmGAhVxeQ5hQuwq+UyYYgw
YpSo9apiSkKQiX7JBCU/gCLsDwJkOoke9kEPW/R9d+xOBr0d/GPvyh2Mr73XwO2yHVJJ/97dUFrv
NMNp22lgP2ybodGoWy0wi0n2QolVqh5EESdCEAEBjVDylCYvumC5KIELusCjPNYfUyFdkOf0J2Gb
tYF6KHlSSnKf5izQVWn25YIQ7isTVMIGcJ9I2JtHUl8lnnKEzYPu80DMwHmKy4G7WUpnjmZJd4Db
7vQGXXve+HrQx4RFmjQuuuJVfkGy2C9LXBcvJf9rHTLCPysx31fJ+joG0TN8As3WoA2aVtzK0ro4
vCiM8EAp2XROrTMwi0kqeaCBvS300GllTyiCvvQzRhMDsz9mOscbU5gci40SqoAVkEyQdc8e0fnD
MsaUznnB9EZ0qSEebUQv13uKbu4by1bexTXfIXNdLyJhMyxQf1s8TFh0kYywRqVEmnj3U/dlnRgp
IiLHrJt6FHoDLhD/+vcoKT9rnUnKi+n/o/xtpiOSkZy8m+w/ZEUSfgPtP/CXFQcAAA==
====
0810名無しさん@お腹いっぱい。
2006/09/08(金) 12:14:25ちなみにプロバイダAとBの使い分けってどのようにしているの?
0812名無しさん@お腹いっぱい。
2006/09/09(土) 02:33:25お疲れさまです。
はまっている人には、スゲーありがたいと思います。
で、
そもそも、P-t-Pでリモートアドレスが重なるとifconfigで失敗するってのは
いかがなものかって思いませんか?
kernelがエラーにしてるのかな?
本質的にはエラーにする必要はないと思う。
ルーティングもP-t-Pならデバイス指定でやるべきだし。
Windowsでは問題ないみたいだし。
mpdがいまいちなのかkernelがいまいちなのか?
0813792
2006/09/09(土) 12:28:35外部公開サーバ用の固定IP8と、動的IPで使い分け。
内から外への default route は固定IP8にしてありますが、
特定のネットワークへのアクセスだけ個別に route add して動的IPのほうに振り分け。
>811
おめ。
FreeBSDルータの内側からフレッツ・スクウェアのv6コンテンツにアクセスする設定がわかったら教えてくださいw
(IPv6まで設定してる暇がないので諦めました。ってか、うちの kernel は IPv6 外してある…)
>812
現状の P-t-P インタフェースはIPアドレスベースでルーティングするようになっていて、
ifconfig したとき、自動的にリモートIP宛のルーティング情報をルーティングテーブルに追加します。
そこで ng0 と ng1 で同じリモートIPが割り当てられてしまうと、
ルーティング情報が ng0 と ng1 で重複するので kernel としてはエラーにするしかないです。
(エラーにしないようにしたとしても、ng0 と ng1 のどっちに振り分けて良いのかわからなくなる)
P-t-P インタフェースの ifconfig で、リモートIPの指定を省略できるようにして
省略時はデバイスベースでルーティングするようになれば良いと思いますが…。
そういう意味では kernel がいまいちなのかなぁ。
0814名無しさん@お腹いっぱい。
2006/09/09(土) 13:25:190815名無しさん@お腹いっぱい。
2006/09/09(土) 16:10:17# ifconfig ng1 inet #the Internet
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1454
# ifconfig ng2 inet #フレッツスクエア
ng2: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1454
# netstat -rn -f inet |grep ng
default ng1 US 0 455 ng1
220.210.194 ng2 US 0 1165 ng2
220.210.195 ng2 US 0 0 ng2
220.210.195.64 ng2 UHS 0 0 ng2
220.210.197 ng2 US 0 0 ng2
220.210.199 ng2 US 0 0 ng2
220.210.199.32 ng2 UHS 0 0 ng2
220.210.199.128 ng2 UHS 0 0 ng2
220.210.199.160 ng2 UHS 0 0 ng2
220.210.199.176 ng2 UHS 0 0 ng2
pfの変換ルールは
nat on ng1 inet from any to any -> <external_addr>
とかしておいてlinkupで
echo "$addr" |pfctl -t external_addr -Tr
注意点はルータ上ではソースアドレスが0.0.0.0になるので、変換ルールも
0.0.0.0を変換するようにしなければいけない。
0816名無しさん@お腹いっぱい。
2006/09/13(水) 22:04:476.1-STABLE使っていて、なんか重いプロセス走らせたりすると
たまに↓みたいなエラーが発生して、実際通信が止まる(ttyが詰まる)。
で、ぐぐってみたら他でも似たような現象が起きてるそうで、
/boot/loader.confにdebug.mpsafenet=0を書いて回避出来た。
Sep 11 09:26:21 hoge kernel: em0: watchdog timeout -- resetting
Sep 11 09:26:21 hoge kernel: em0: link state changed to DOWN
Sep 11 09:26:25 hoge kernel: em0: link state changed to UP
Sep 11 09:26:52 hoge kernel: em0: watchdog timeout -- resetting
Sep 11 09:26:52 hoge kernel: em0: link state changed to DOWN
Sep 11 09:26:55 hoge kernel: em0: link state changed to UP
0817名無しさん@お腹いっぱい。
2006/09/14(木) 05:44:13re(4)で同じようなことが起こっていたので、kernelオプションに、
options DEVICE_POLLING
options HZ=1000
を書いて、ifconfigにpollingをつけてる。
ちょっと前の、6.1-STABLE。
パフォーマンスはどうなのかわからんが、この現象は起こらなくなった。
0818名無しさん@お腹いっぱい。
2006/09/14(木) 15:31:25なんかこんなcommit logがsys/dev/em/if_em.cにあった。
まだRELENG_6には入ってなさそう。
revision 1.133
date: 2006/08/22 02:32:48; author: yongari; state: Exp; lines: +12 -0
It seems that em(4) misses Tx completion interrupts under certain
conditions. The cause of missing Tx completion interrupts comes from
Tx interrupt moderation mechanism(delayed interrupts) or chipset bug.
If Tx interrupt moderation mechanism is the cause of false watchdog
timeout error we should have to fix all device drivers that have Tx
interrupt moderation capability. We may need more investigation
for this issue. Anyway, the fix is the same for both cases.
This should fix occasional watchdog timeout errors seen on a few
systems.
0819名無しさん@お腹いっぱい。
2006/09/14(木) 16:09:08対応できるようになったが、792氏がいうとおり,v6コンテンツは
どうすべかねぇ。
巷の市販ルータには「v6ブリッジ機能」なるものが実装されているらしいが、
これはBSDでいうところのなんだろう?
0820792
2006/09/14(木) 17:49:21全く役に立たない情報ですが…
偉い人から聞いた話だと、CTU は DHCPv6-PD を喋ってるらしいので、
WAN側インタフェースに v6 のアドレスを割り振りたいときは ports/net/dhcp6 を使うのかなと。
CTU側に繋がるWAN側インタフェースと、Windows端末側に繋がるLAN側インタフェースの間で、
IPv6 をパススルーできるブリッジを組めるかどうかは、やったことがないので全くわかりません。
(netgraph の bridge とかで組めないのかな?)
あと、プロバイダとフレッツ・スクウェアのマルチセッションを組む場合、
FreeBSD 上で両方の名前を解決できる named を動かすというのが一般的だと思いますが、
フレッツ・スクウェアの IPv6 アドレスも解決できるように設定しないといけないかと。
(どうすりゃいいんだ?)
以上が解決すれば、速度測定サイトが FreeBSD ルータの内部からも利用できるようになるかな…?
しかし最大の問題は、v6コンテンツの動画配信は MLDv2 (IPv6 のマルチキャスト) を使って配信されているらしく、
これを FreeBSD 上でリレーするかプロキシするかしないといけないようです。
(さっぱりわからん…)
0821名無しさん@お腹いっぱい。
2006/09/14(木) 21:45:49v6うんぬんはともかくとして、速度測定サイトはv4オンリーでいけるよ。
うちではISP、Fletsスクウェア、速度測定サイトの3本のセッションを
同時に張ってる。
0822792
2006/09/20(水) 21:41:46あ、v4オンリーでいけるんですね。(てっきり、速度測定のサーバがv6ネットワークにあるものと)
FreeBSD 上で動かしている named の設定で、
*.fletsnet.com の DNS 順引きを CTU (192.168.24.1) に forward することで、
fletsnet.com ドメインの名前解決もできるようになって、
FreeBSDルータの内部から
ttp://www.speedtest.fletsnet.com/
で速度測定できるようになりました。
■ このスレッドは過去ログ倉庫に格納されています