title
わたしの日記は日々の出来事の鬱憤晴らしの毒だし日記がメインです。 相当病んでいます。くだを巻いています。許容出来る方のみのアクセスをお願いします。 また、この日記へのリンクは原則自由にして頂いても結構ですが、 写真への直リンクを張るのはご遠慮下さい。内容に関しては、一切保証致しません。
カテゴリ一覧 Network, Internet, IPv6, DC, NTT, Comp, Linux, Debian, FreeBSD, Windows, Server, Security, IRC, 大学, Neta, spam, , 生活, 遊び, Drive, TV, 仕事,
過去日記:



2014年06月16日(月) [晴れ]

[FreeBSD][Server][IPv6] さくらのVPS上のFreeBSD9.0R -> 9.1R へupgrade

来月、 7/16 に FreeBSD 9.3 リリースは予定されており、Extended Supportでリリース後2年と思われるため、FreeBSD9.3をまとうか悩んでいたが、すでに、 FreeBSD9.0 RELEASE は 2013年3月31日 に EoL を迎えている。今回SSLは使用していなかったため、特に問題はなく、様子を見ていたが、ports のバージョンアップがあったのか、既存環境では利用出来なくなっていたことから、FreeBSD9.1へあげることにした。

今回、構成として、virtioの有効及び、さくらの6rd を利用していることから、事前検証及び、アップグレードを行った。virtio を使用しているため、virtio 用 kernel module が入っているため、最悪の場合、diskのmountが出来ないなど、リスクがあり、virtio を無効にして、upgrade し、改めてモジュールを入れるか悩んでいたが、特に考慮せずとも動いたようだ。しかし、6rd に関しては、標準で 6to4 のモジュールを提供されていることから、上書きされ、使用出来なくなるので別途 kernel module を作り直す必要があるので、注意が必要だ。

手順については、 FreeBSD ハンドブック 第18章 FreeBSD のアップデートとアップグレード 18.2.3. メジャーおよびマイナーバージョンのアップグレードを行うに記載が有るとおり進めればよい。念のため、/etc のバックアップをすべて取っておく。途中マージなどがあるとき、うっかり失敗すると、差分などが設定ファイルに記載されてしまい、起動しない場合など有るので注意が必要だ。参考に書いておくと、 FreeBSD 9.2 RELEASEでは、 virtioに標準で対応した。


 freebsd-update 9.0R -> 9.1R:
 # tar cvfz /root/backup-etc.tgz /etc
 # freebsd-update -r 9.1-RELEASE upgrade

margeなどの確認があるので、確認しながらmargeする。すべて終わると次のようなメッセージがでてきて、プロンプトに戻る。

install the downloaded upgrades, run "/usr/sbin/freebsd-update install".
 # freebsd-update install
---
Kernel updates have been installed.  Please reboot and run
"/usr/sbin/freebsd-update install" again to finish installing updates.
 # shutdown -r now

起動の確認 (6rdの設定をしている場合、stf0 には、ipv6アドレスの付与はなく、接続出来ません)

 # freebsd-update install
 (20分ぐらいかかる)

次に、virtio及びstf-6rd-kmodの更新を行う。

念のため、バックアップ

 # cp -pR /boot/modules /boot/modules.bak
 # mv /boot/kernel/if_stf.ko /boot/kernel/if_stf.ko.orig

 virtio インストール:
 # cd /usr/ports/emulators/virtio-kmod/
 # make clean && make all
 # make reinstall
 ===>  Building package for virtio-kmod-9.1-0.250249
 Creating package /usr/ports/emulators/virtio-kmod/work/pkg/virtio-kmod-9.1-0.250249.tbz
 Registering depends:.
 Creating bzip'd tar ball in '/usr/ports/emulators/virtio-kmod/work/pkg/virtio-kmod-9.1-0.250249.tbz'
 ===>  Installing for virtio-kmod-9.1-0.250249
 pkg_install EOL is scheduled for 2014-09-01. Please consider migrating to pkgng
 http://blogs.freebsdish.org/portmgr/2014/02/03/time-to-bid-farewell-to-the-old-pkg_-tools/
 
 To use these modules, add loading lines in /boot/loader.conf:
 
 virtio_load="YES"
 virtio_pci_load="YES"
 virtio_blk_load="YES"
 if_vtnet_load="YES"
 virtio_balloon_load="YES"
 
 and edit fstab and interface config in rc.conf:
 
 # sed -i.bak -Ee 's|/dev/ada?|/dev/vtbd|' /etc/fstab
 # echo 'ifconfig_vtnet0_name="em0"' >> /etc/rc.conf

virtio binary packages for FreeBSDから手で入れていた場合と、ports から入れていた場合で若干異なります。

私が入れていた古いバージョンでは、vtnet0 が無かったので、そのままem0になっていたが、メッセージにはちゃんと次のように有るので、/etc/rc.conf 次の行を追加しておいた。

 # echo 'ifconfig_vtnet0_name="em0"' >> /etc/rc.conf

もちろん、手動で http://people.freebsd.org/~kuriyama/virtio/9.1/virtio-kmod-9.1-0.250249.tbzを入れても構い。


 stf-6rd-kmod:

こちらは、 6rdによるIPv6接続(FreeBSD編)というドキュメントが公開されているが、東工大の佐藤さんが公開されている リンク先のパッチは、古く、そのままでは、FreeBSD9.1では使用出来ない。

現在は、ports に入っているので、ports から入れる。

 # cd /usr/ports/net/stf-6rd-kmod
 # make all
 ----
 ===>  Patching for stf-6rd-kmod-0.239080
 /usr/bin/sed -i.bak -e 's|\.Dd July 23, 2011|.Dd April 27, 2001|' 
  /usr/ports/net/stf-6rd-kmod/work/share/man/man4/stf.4
 ===>  Applying FreeBSD patches for stf-6rd-kmod-0.239080
 Ignoring previously applied (or reversed) patch.
 28 out of 28 hunks ignored--saving rejects to sys/net/if_stf.c.rej
 Ignoring previously applied (or reversed) patch.
 7 out of 7 hunks ignored--saving rejects to share/man/man4/stf.4.rej
 => Patch patch-stf_6rd_20100923-1.diff failed to apply cleanly.
 *** [do-patch] Error code 1
 
 Stop in /usr/ports/net/stf-6rd-kmod.

make中に失敗するが、rejectされているのは、man なので、そのまま無視。

 # make do-build
 ---
 cd /usr/ports/net/stf-6rd-kmod/work/sys/modules/if_stf; make DEBUG_FLAGS=-g
 Warning: Object directory not changed from original /usr/ports/net/stf-6rd-kmod/work/sys/modules/if_stf
 ld  -d -warn-common -r -d -o if_stf.ko.debug if_stf.o
 :> export_syms
 awk -f /usr/ports/net/stf-6rd-kmod/work/sys/modules/if_stf/../../conf/kmod_syms.awk if_stf.ko.debug 
 export_syms | xargs -J% objcopy % if_stf.ko.debug
 objcopy --only-keep-debug if_stf.ko.debug if_stf.ko.symbols
 objcopy --strip-debug --add-gnu-debuglink=if_stf.ko.symbols if_stf.ko.debug if_stf.ko

 # cd /usr/ports/net/stf-6rd-kmod/work/sys/modules/if_stf
 # make install

若しくは

 # cd /usr/ports/net/stf-6rd-kmod/work/sys/modules/if_stf
 # make && make install

タイムスタンプが更新されていれば、OKだ。

 # ls -al /boot/kernel/if_stf.ko

後は再起動して問題がないか様子を見ておこう。


 pkg_install から pkg へパッケージシステムの移行:

お気づきかもしれないが、先ほどのportsからのkernel module のインストールの際、次のようなメッセージが出ている。

pkg_install EOL is scheduled for 2014-09-01. Please consider migrating to pkgng
http://blogs.freebsdish.org/portmgr/2014/02/03/time-to-bid-farewell-to-the-old-pkg_-tools/

pkg_install は、 2014-09-01 に EOLを迎えるので、新しい pkgng へ移行せよというメッセージだ。
てことで、さくっと、移行することにする。
詳細は、 はんかくさい日報: FreeBSD 9.1/9.2 における ports/packages 管理に異変という記事があるので、さくっと、変更。詳しくは、おきまりのハンドブック 5.4. pkgng によるバイナリ package の管理を参考に。

すべての工程が完了したら、不要なバックアップファイルを削除して完了だ。

[ コメントを読む(0) | コメントする ]

[IPv6][FreeBSD] FreeBSD における IPv6 関係の /etc/rc.conf

/etc/rc: WARNING: $ipv6_ifconfig_stf0 is obsolete.   Use ifconfig_stf0_ipv6 instead.
/etc/rc: WARNING: $ipv6_enable is obsolete.  Use $ipv6_activate_all_interfaces instead.

とあるので、ipv6_ifconfig_XXX は obsolete なので、 ifconfig_XXX_ipv6 を使いましょう。
また、ipv6_enable も obsolete らしい。

obsolete ということ、互換性のための暫定措置もすでに終わっているらしく、古い設定のままであれば、ipv6アドレスのアドレスの設定がされない。

[ コメントを読む(0) | コメントする ]

[Server] さくらのVPS の IPv6は使用期間中もOP25B対象にならない

さくらのVPSを検証用に一台お借りして、FreeBSD のアップグレードの検証を行っていた。結果無事にアップグレードが出来たと言うこと、ISOイメージの配置による、カスタマイズOSのインストールが出来たことから結果は良好。現在カスタマイズOSに、FreeBSD9.0は選択出来ないため、ISOイメージをおいて検証していた。

最近契約したさくらのVPSのサーバーは、IPv6の対応のものなので、色々と実験してみることに。

確認したことは、OP25B と ipv6-spoofing 対策、L3-GWは何を使っているかということ。そのほか、raのばらまきなども調べようかと。

結果、さくらのVPSの使用期間中では、特にIPv6による OP25Bの制限は無し、ipv6-spoofing対策はしっかりとされていた。また、L3-GWについては、vrrpのパケットが見えており、gateway の mac は、cc:4e:24 で始まっており、ipv4の gateway と同じ mac-address だった。すなわち、IPv4/IPv6 DualStack環境を構築しているといえる。L3-GWは、brocade社のOUIだったので、Brocade NetIron CES2000シリーズではないかと考えられる。

[ コメントを読む(0) | コメントする ]

Diary for 1 day(s)
Powered by hns HyperNikkiSystem Project




(c) Copyright 1998-2014 tomocha. All rights reserved.