2008年11月29日

FreeBSD Release CTM Version

  1. 2002/01/30:FreeBSD-4.5-RELEASE[CTM 4.0835]から
  2. 2002/06/17:FreeBSD-4.6-RELEASE[CTM 4.1021]から
  3. 2002/08/16:FreeBSD-4.6.2-RELEASE[CTM 4.1108]前後から
  4. 2002/10/11:FreeBSD-4.7-RELEASE[CTM 4.1175]から
  5. 2003/04/04:FreeBSD-4.8-RELEASE[CTM 4.1396]から
  6. 2003/10/28:FreeBSD-4.9-RELEASE[CTM 4.1635]から
  7. 2004/05/25:FreeBSD-4.10-RELEASE[CTM 4.1873]から
  8. 2005/01/24:FreeBSD-4.11-RELEASE[CTM 4.2086]前後から
  9. 2006/05/06:FreeBSD-6.1-RELEASE[CTM 6.0365]から
  10. 2007/01/16:FreeBSD-6.2-RELEASE[CTM 6.0683]から
  11. 2008/01/19:FreeBSD-6.3-RELEASE[CTM 6.1099]から
  12. 2008/11/29:FreeBSD-6.4-RELEASE[CTM 6.1379]から1378とタグのみ変更

[FreeBSD] : 2008年11月29日 20:10

2009年6月16日

CARP on FreeBSD 6.X

Common Address Redundancy Protocol は、CISCOのVRRP互換のレイヤー3IP冗長化プロトコルである。BSDでは、カーネルに実装されているため、カーネルコンフィグレーションが必要となる。

1.カーネルコンフィグレーション
カーネルに以下のdevice を指定し、makeする。


device carp

2.設定


# vi /etc/sysctl.conf
 net.inet.carp.allow=1 #carp受信
 net.inet.carp.preempt=1 #複数のvhidをまとめてフェイルオーバさせたいとき1
 net.inet.carp.log=1
# vi /etc/rc.conf
 cloned_interfaces="carp0 carp1"
 # Master側
 ifconfig_carp0="vhid 1 pass XXX 192.168.0.4/24"
 # Slave側
 ifconfig_carp0="vhid 1 pass XXX advskew 100 192.168.0.4/24"
 # vhid: 仮想ホストを構成する実ホストのグループID。CARP毎に値を設定,carp0はvhid1,carp 1はvhid 2など。
 # advskew:死活監視への応答時間。1/256秒を掛けた値
 # pass: 通信時のパスワード
 # advbase:死活監視の間隔

3.確認
# ifconfig -a

carp0: flags=49 mtu 1500
inet 192.168.255.254 netmask 0xffffff00
carp: MASTER vhid 1 advbase 1 advskew 0

[CARP][FreeBSD] : 2009年6月16日 14:11

2009年6月23日

ISC DHCP 3.0.7 on FreeBSD 6.X

 2台のFreeBSDサーバを使用し、DHCPサーバの冗長化を図った。

1.ISC DHCPサーバのインストール
portsを利用する。

/usr/ports/net/isc-dhcp30-server/
+[X] DHCP_LDAP
# make
# make install

2.設定

# vi /etc/rc.conf
 dhcpd_enable="YES"
 dhcpd_ifaces="em0" #サービス提供予定のNICを指定(複数NICの場合)
# vi /etc/syslog.conf
 local7.* /var/log/dhcp.log
# vi /etc/newsyslog.conf
 /var/log/dhcp.log 644 12 * 168 JC
# cp /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf
# vi /usr/local/etc/dhcpd.conf
 ddns-update-style none;
 not authoritative; # 2台のDHCPサーバを立てる場合
 log-facility local7;
 subnet 192.168.255.0 netmask 255.255.255.0 {
  range 192.168.255.32 192.168.255.64;
  option domain-name-servers 192.168.255.2;
  option domain-name "p.oni.gr.jp";
  option routers 192.168.255.254;
  option broadcast-address 192.168.255.255;
  default-lease-time 600;
  max-lease-time 7200;
 }
 # IPを固定
 host cam1 {
  hardware ethernet 0:0:c0:5d:bd:95;
  fixed-address cam1.p.oni.gr.jp;
 }
 # primary設定
 failover peer "oni" {
  primary;
  address ex1.p.oni.gr.jp;
  port 519;
  peer address ex2.p.oni.gr.jp;
  peer port 519;
  max-response-delay 60;
  max-unacked-updates 10;
  mclt 3600;
  split 128;
  load balance max seconds 3;
 }
 # secondary設定
 failover peer "oni" {
  secondary;
  address ex2.p.oni.gr.jp;
  port 519;
  peer address ex1.p.oni.gr.jp;
  peer port 519;
  max-response-delay 60;
  max-unacked-updates 10;
 }

3.起動
# /usr/local/etc/rc.d/isc-dhcpd start

4.停止
# /usr/local/etc/rc.d/isc-dhcpd stop

5.確認
# tail -f /var/log/dhcp.log

[DHCP][FreeBSD] : 2009年6月23日 21:50

2009年10月28日

WebCamera

 2008年5月25日(日)某所の遠隔監視用にWeb Cameraを設置した。備忘録を兼ねて、まとめてみる。

使用機材
  1. Panasonic社製ネットワークカメラBL-C111
  2. Panasonic社製ネットワークカメラBB-HCM580
  3. Optics社製人感センターLX-402 2個
  4. KDS社製カメラハウジングNA-E120
 Panasonic BB-HCM580には、2種類のセンター入力端子があるが、接続可能なセンサー情報が乏しく、センサーの選別が最も苦労した。 BB-HCM580BB-HCM581との違いは、PoEと音声非対応・対応なのだが、BB-HCM580は屋外設置でもあり、Ethernetケーブルの長さを考えるとPoEは期待できず、屋外の音声も必要ではなかったため、価格の安い580を選択した。
 BB-HCM580は、アナログビデオ出力機能を使いビデオケーブルで、42インチプラズマディスプレイに接続している。画面が大きい分、荒い画像となったが、PCでの画面では、MAX値640x480 でもけっこうきれいに見える。

 見えますネットは使用せず、FreeBSDベースのFireWall Routerを経由し、BL-C111,BB-HCM580をリバースプロキシー接続することで、2台のカメラの監視を実現した。以下apache 2.2.Xのリバースプロキシー設定。
ProxyRequests Off
ProxyPass / http://BL-C111-IP-Address/
ProxyPass /cam580/ http://BB-HCM580-IP-Adress/
 音声を中継させるために、/をBL-C111にしなければならない。また画像上をクリックしてカメラを移動させる機能が使えるのは/にマウントしたBL-C111のみである。URLに埋め込まれるアクションは、2個のカメラとも利用可能。

[Camera][FreeBSD] : 2009年10月28日 08:51

2010年2月13日

SPAM:cyber-mailer.com

 googleで検索すると、たくさんヒットするcyber-mailer.comからのSPAMメールを停止させた。 以下の2段階で対策を実施。
1.ipfilter
ipf.confにて以下の記述を追加。
 block in log quick from 111.223.192.0/19 to any
 block in log quick from 113.212.128.0/19 to any
 しかし、これだと、ipfil.logに以下の様なログが記録され続け、1週間放置しても収まる気配がなかった。
Feb 13 17:00:43 XX ipmon[46194]:17:00:43.231537 bge0 @0:2 b m34-36.cyber-mailer.co[113.212.137.36],52453 -> XX[],smtp PR tcp len 20 60 -S IN
2.sendmail:/etc/mail/access
 ipfilterにてパケット落としても延々送り続けるため、無駄なパケットを受け取り処理し続けることとなる。そこで/etc/mail/accessファイルに以下の記述した。
cyber-mailer.com ERROR:"550 User unknown"
accessファイル編集後、以下のコマンドを実行する。
makemap hash access < access
上記のipfilterのルールをコメントアウトし、maillogを監視していると、1時間半程度で、配送が中止された。やれやれ。
Feb 13 18:01:12 ...relay=m17-194.cyber-mailer.com [113.212.154.194], reject=550 5.0.0 User unknown
中略
Feb 13 19:31:30 ...relay=m17-179.cyber-mailer.com [113.212.154.179], reject=550 5.0.0 User unknown
sendmail:/etc/mail/accessファイルにてcyber-mailer.com REJECTとして配送が停止されるかどうかは試していない。

続きを読む

[FreeBSD][SMTP] : 2010年2月13日 21:18

2010年3月13日

squidGuard-1.4 on FreeBSD 6.4-stable

 2000/07/22にsquidGuard-1.1.4をインストールして以来だから、およそ10年ぶりにsquidGuardをインストールした。squidGuard 1.2からBerkeleyDB 2.7.7サポート終了 3.X以上が要求されるようになったこと。最初、これに気が付かず、リストの読み込みが失敗し続けていた。Berkeley DBを 2.7.7から3.3.11へ変更すると、サクッと設定通り動作してくれた。


% /usr/local/squid/bin/squidGuard -d
・・・・・・domainlist empty, removed from memory

% /usr/local/squid/bin/squidGuard -v
○ SquidGuard: 1.4 Sleepycat Software: Berkeley DB 3.3.11
× SquidGuard: 1.4 Sleepycat Software: Berkeley DB 2.7.7

/usr/ports/www/squidguard/files/*のpatch


% vi configure
4603 LIBS="$LIBS -ldb3"

%env CFLAGS=-O2 ./configure --prefix=/usr/local/squid \
 --with-sg-config=/usr/local/squid/Guard/filter.conf \
 --with-sg-logdir=/var/log/squid \
 --with-sg-dbhome=/usr/local/squid/squidGuard/db \
 --with-squiduser=nobody \
 --with-db-lib=/usr/local/lib ¥
 --with-db-inc=/usr/local/include/db3
% gmake
% gmake test
% gmake install


[FreeBSD][proxy] : 2010年3月13日 17:17

Aipo 5.0.2.0-ja on FreeBSD 6.4-stable

 無料グループウェアAipo 5.0.2.0をFreeBSD 6.4 stableへインストールした。このAipo Linux (RedHat/CentOS) 系のインストーラは付いているのだが、FreeBSDでは、一手間必要。

 aipo5020ja_linux.tar.gzを展開するとaipo5020ja_linuxディレクトリ内に、aipo5020.tar.gzとreadme.txtファイルが出てくるので、aipo5020.tar.gzをさらに展開する。aipoディレクトリー以下にsrcディレクトリーが出てくる。postgreSQLやらtomcatが出てくるが、必要ない。必要なのはwebapps/aipo/のみ。

% cd aipo5020ja_linux/aipo/src/webapps/aipo/
% vi WEB-INF/conf/postgres/Org001DomainNode.driver.xml
 <url value="jdbc:postgresql://localhost:5432/aipo"/...
 <login userName="DB_USER" password="DB_PASSWORD"/>
% jar cvf ../aipo.war .
pgsql> createdb -U www -E UTF8 aipo
pgsql> psql -f aipo5020ja_linux/aipo/backup/postgresql/empty_dump/aipo_db_sql.dump
# cp aipo.war /usr/local/tomcat5.5/webapps/

 非常によくできていると思うが、以下の2点が不満である。


  1. LADP / Active Directory直接連携できない
  2. ユーザIDが16byte以内

[FreeBSD][WWW] : 2010年3月13日 17:45

2010年6月 8日

IPSec-VPN between racoon on FreeBSD 6.X and YAMAHA RTX1500/1200/1100

FreeBSD 6.4-stableの設定
  1. カーネル
    options         IPSEC
    options         IPSEC_ESP
    options         IPSEC_DEBUG
  2. /etc/rc.conf
    ipsec_enable="YES"
    static_routes="vpn1 vpn2"
    route_vpn1="-net 192.168.1.0/24  <My-Private-IP>"
    route_vpn2="-net 192.168.2.0/24  <My-Private-IP>"
  3. /etc/ipsec.conf
    flush;
    spdflush;
    spdadd <FreeBSD-Local-Net>/24 <RTX-Local-Net>/24 any -P out ipsec esp/tunnel/<FreeBSD-Gloval-IP>-<RTX-Gloval-IP>/require;
    spdadd <RTX-Local-Net>/24 <FreeBSD-Local-Net>/24 any -P in ipsec esp/tunnel/<RTX-Gloval-IP>-<FreeBSD-Gloval-IP>/require;
  4. /usr/ports/security/ipsec-tools
    ipsec-tools-7.0 (racoon)
    /usr/local/etc/racoon/psk.txt
     <RTX-Gloval-IP>   [tab]  <PassWord>
    /usr/local/etc/racoon/racoon.conf
    path certificate        "/usr/local/etc/racoon/certs";
    path pre_shared_key     "/usr/local/etc/racoon/psk.txt" ;
    path certificate        "/usr/local/etc/cert" ;
    log notify; #debug
    listen {
     <FreeBSD-Gloval-IP> [500];
    }
    remote <RTX-Gloval-IP> {
     exchange_mode main;
     doi ipsec_doi;
     nonce_size 16;
     lifetime time 28800 sec;
     initial_contact on;
     situation identity_only;
     my_identifier address "<FreeBSD-Gloval-IP>";
      peers_identifier address "<RTX-Gloval-IP>";
      mode_cfg on;
      generate_policy on;
      ike_frag on;
      passive off;
      support_proxy on;
      proposal_check obey;
      proposal {
        encryption_algorithm 3des;
        hash_algorithm sha1;
        authentication_method pre_shared_key ;
        dh_group 2 ;
      }
    }
    sainfo address <FreeBSD-Local-Net>/24 any address <RTX-Local-Net>/24 any {
      pfs_group 2;
      lifetime time 28800 sec;
      encryption_algorithm 3des ;
      authentication_algorithm hmac_sha1 ;
      compression_algorithm deflate;
    }
    sainfo address <FreeBSD-Gloval-IP> any address <RTX-Gloval-IP> any {
      pfs_group 2;
      lifetime time 28800 sec;
      encryption_algorithm 3des ;
      authentication_algorithm hmac_sha1 ;
      compression_algorithm deflate;
    }

YAMAHA RTX1500/1200/1100
# tunnel 2を使用の場合
ip route <FreeBSD-Local-Net>/24 gateway tunnel 2
tunnel select 2
 ipsec tunnel 102
  ipsec sa policy 102 2 esp 3des-cbc sha-hmac
  ipsec ike always-on 2 on
  ipsec ike encryption 2 3des-cbc
  ipsec ike group 2 modp1024
  ipsec ike hash 2 sha
  ipsec ike local address 2 <RTX-Gloval-IP>
  ipsec ike local id 2 <RTX-Gloval-IP>
  ipsec ike log 2 key-info message-info payload-info
  ipsec ike negotiate-strictly 2 off
  ipsec ike pfs 2 on
  ipsec ike pre-shared-key 2 text suita2kudan
  ipsec ike remote address 2 <FreeBSD-Gloval-IP>
  ipsec ike remote id 2 <FreeBSD-Gloval-IP>
 tunnel enable 2

[FreeBSD][VPN] : 2010年6月 8日 13:46