freeBSDで一定時間送受信が無いとホームページに接続できなくなります。

(ルータが一定時間不具合を起こして自動復帰した場合など)

これは困ります。何をどう設定したら改善されますか。

環境は、freebsd6.1でルータから接続しています。

回答の条件
  • 1人2回まで
  • 登録:2007/02/21 14:12:10
  • 終了:2007/02/28 14:15:03

回答(0件)

回答はまだありません

  • id:ttamo
    んー、まずは現状把握が必要です。
    以下のコマンドなどを、正常なときと異常なときで比較してみるようお勧めします。
    (script コマンドを使って記録したり、リダイレクトしておいて diff する、など。)

    DNS は大丈夫ですか。(dig d.hatena.ne.jp とか dig @219.99.160.180 d.hatena.ne.jp とか)
    アドレス直打ちでは、つながりますか。(http://221.186.146.29/ とか)

    デバイスが認識されなくなっていますか。(ifconfig とか dmesg とか)
    ネットワークカード自体の点滅具合はどうですか。

    PF の問題ですか。(pfctl -s all を正常時と異常時で比較してみるとか)
    そもそも /etc/pf.conf はどうなっていますか。

    このあたりを調べていけば、おのずと道が開けるはず。

  • id:kurukuru-neko

    Internet -> ADSL/光り -> Router/Modem -> FreeBSD
    ような構成である場合

    Router/Modemのセッションの維持は常時に
    設定していますか?
    装置によっては通信がない場合 Router/Modemが
    セッション(PPPoE等)を切断して外部から
    接続できなくなります。

    対応1.
     Router/Modemのセッションを常時維持又は、
     切断時の自動再接続を設定

     不明の場合、現在のモデム・ルータの機種名

    対応2.
     FreeBSDの常駐プログラムなどで
    定期的に外部をアクセスするプログラム又は
    cronを実行させる。
    例:bashの場合

    自分の加入しているISPのTOPページ等
    必ずping等で応答があるページを定期的に
    アクセスする。
    以下の例は、通常10分間隔、エラー時5分間隔
    wgetでもよい
    wgetの場合

    wget -q -t 2 -w 10 -O /dev/null http://www.yahoo.co.jp
    等のようにする(詳細はオプションを確認)

    http://www.linux.or.jp/JM/html/netkit/man8/ping.8.html


    #!/bin/bash
    while true
    do
    ping -c 3 -q -w 10 www.yahoo.co.jp 2>&1 >>/dev/null
    if [ $? -eq 0 ] ; then
    sleep 600
    else
    sleep 300
    fi
    done
  • id:ironbsd
    ありがとうございます。

    freeBSD内で
    一定時間の通信が無い場合、自動切断するような設定ってされていないですかね?
  • id:ttamo
    PPP なら timeout が存在しますが、これは関係ないはず。
    http://www.jp.freebsd.org/QandA/HTML/1154.html

    もしかして無線LANですか。だとすると ifconfig に -powersave を付けるといいかも。
    http://freebsd4-jman.kandk.co.jp/8/ifconfig.8.html

    とりあえず ifconfig -a と打った結果を出してみてはいかがでしょうか。

  • id:ironbsd
    bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    options=1b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING>
    inet6 fe80::213:72ff:fe19:6e40%bge0 prefixlen 64 scopeid 0x1
    inet 192.168.12.3 netmask 0xffffff00 broadcast 192.168.12.255
    ether 00:13:72:19:6e:40
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active
    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
    inet 127.0.0.1 netmask 0xff000000

    こんな感じです・・
  • id:ttamo
    bge ですか。これは 6.1 で色々と問題が報告されていたみたいですね:
    <a href="http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/bge/if_bge.c?only_with_tag=RELENG_6">CVS log for src/sys/dev/bge/if_bge.c</a>

    特に<a href="http://www.FreeBSD.org/cgi/query-pr.cgi?pr=68351">kern/68351 というバグ</a>ですが、これは 6.2 で修正されているようです。
    設定の問題ではなく、6.1 を使う限り無理なのかもしれません。
    アップグレードをおすすめします。

    アップグレードしても直らなければ、dmesg|grep bge の結果などを報告すると良いかもしれません。


  • id:ironbsd
    ありがとうございます。6.2にアップグレードすることにします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません