Category Archives: FreeBSD - Page 7

POP3 over SSL


というわけで、pop3はproxyかまされていてapopが使えない。
WEPが使われていないHotSpotでもsecureにmailを取ってこれるように、かねてより導入を検討していたpop3 over tlsをごりごりと。
うちのサーバはFreeBSD 5.2.1-RELEASEなのでOpenSSLは最初から入っている。
portsでqpopperをinstallした時に、OpenSSLは入っていたのでssl/tlsには既に対応している模様。
証明書を格納するディレクトリを作成
cd /usr/local/etc/qpopper
mkdir certs
vi ssl.conf
chown root:mail certs
chmod 660 certs
cd certs
vi pop3s.conf
として、以下の行を記入
set clear-text-password = ssl
set tls-support = alternate-port
set tls-version = default
set tls-server-cert-file = /usr/local/etc/qpopper/certs/cert.pem
以上
次に証明書用を作成
openssl req -new -nodes -out req.pem -keyout cert.pem
chmod 600 cert.pem
chown root:0 cert.pem
CA証明書の作成
openssl genrsa -des3 -out ca.key 1024
ca.key を使って cert.pem の自前証明書を作成する
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
自前CA認証による証明書の完成
openssl x509 -req -CA ca.crt -CAkey ca.key -days 365 -in req.pem -out signed-req.pem -CAcreateserial
自前CA認証局で署名済みの sigined-req.pem を cert.pem に統合
cat signed-req.pem >> cert.pem
vi /etc/inetd.conf
として、以下を追記
pop3s stream tcp nowait root /usr/local/libexec/qpopper -s -f /usr/local/etc/qpopper/certs/pop3s.conf
以上
★Eudora側の設定
該当パーソナリティのプロパティを表示する。
POP3の受信時SSLを「必須(代替ポート)」にする。
「前回のSSL情報」をクリック。「証書情報管理」をクリック。
ドクロのアイコンがあるので、それをクリックし、「信頼させるリスト」をクリック。「完成」を押して閉じる。
と、無事に認証はできるようになったのだが、mailが取れない。なんでだろう…

Read more »

>/dev/null 2>&1 ってなんだ?


crontabを編集するときなどに、要らないmailが飛んでこないようにするためなどに”>/dev/null 2>&1″と後ろに付けて標準出力も標準エラー出力も /dev/null に捨ててしまうということをよくする。
んで、いまいち理解が不十分だったので、「bash: シェルのリダイレクトにまつわる失敗」を読んで勉強させていただきました。
メモ

Perl Magick


MTなど様々なCGIでImageMagickが画像の変換に用いられているが、どうも苦労するのでメモしておく。
portsでImage Magckをinstallして、CPANでinstall Image::Magickとしようとするとmakeでコケるのだが、
実はperlのmoduleは、Image Magickに同梱されているもんらしい。
というわけで、
# cd /usr/ports/graphics/ImageMagick/work/ImageMagick-5.5.7/PerlMagick
# perl Makefile.PL
# make
# make install
とすれば一発でした。苦労してたのがあほみたい。

WLI2-PCI-G54をFreeBSDで使う


-currentでないとndis(4)は使えません。
昨夜、ごりごりとcvsupさせたので、朝からbuildworldしました。んで、
まず、melcoのdriverのcdからWLI2-PCI-G54のinfを探す。
と、net2pg54.infに書いてあってその下の行にbcmwl5.sysを使うっぽい
ことが書いてある。
というわけで、
# ndiscvt -s bcmwl5.sys -i net2pg54.inf -o /root/ndis_driver_data.h
としてやって、ndiscvtを使って、FreeBSD用のデータファイルに変換します。
出来上がったndis_driver_data.hを/sys/modules/if_ndis/ に置いてやり、
loadble moduleを作り、ロードしてやります。
# mv /root/ndis_driver_data.h /sys/modules/if_ndis/
# cd /sys/modules/if_ndis/
# make
# ls *.ko
if_ndis.ko*
# kldload ./if_ndis.ko
んで、dmesgを見ると
ndis0: mem 0xed200000-0xed201fff irq
17 at device 8.0 on pci0
ndis0: [GIANT-LOCKED]
ndis0: NDIS API version: 5.0
ndis0: Ethernet address: xx:xx:xx:xx:xx:xx
ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps
認識されてます。素晴らしい!
# ifconfig ndis0
ndis0: flags=8802 mtu 1500
ether xx:xx:xx:xx:xx:xx
media: IEEE 802.11 Wireless Ethernet autoselect
status: no carrier
ssid “”
channel -1 authmode OPEN powersavemode OFF powersavesleep 100
rtsthreshold 2312 protmode CTS
wepmode OFF weptxkey 1
んで、ifconfigしてみる。
# ifconfig ndis0 192.168.11.1 255.255.255.0 ssid ほげ channel 10 wepmode mixed wepkey ほげ
動いた。
が、しかし…
# ifconfig ndis0 192.168.11.1 255.255.255.0 ssid ほげ channel 10 wepmode mixed wepkey ほげ mediaopt hostap
ifconfig: SIOCSIFMEDIA (mediaopt): Device not configured
がーん。アクセスポイントにはできないっぽい
# wicontrol ndis0
NIC serial number: [ ]
Station name: [ ほげ ]
SSID for IBSS creation: [ ほげ ]
Current netname (SSID): [ ほげ ]
Desired netname (SSID): [ ほげ ]
Current BSSID: [ 00:00:00:00:00:00 ]
Channel list: [ ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff ffff 3fff ]
IBSS channel: [ 10 ]
Current channel:[ 10 ]
Comms quality/signal/noise: [ 0 0 0 ]
Promiscuous mode: [ Off ]
Intersil-Prism2 based card: [ 1 ]
Port type (1=BSS, 3=ad-hoc): [ 1 ]
MAC address: [ ほげ ]
TX rate (selection): [ 0 ]
TX rate (actual speed): [ 11 ]
RTS/CTS handshake threshold: [ 2312 ]
Create IBSS: [ Off ]
Access point density:[ 1 ]
Power Mgmt (1=on, 0=off): [ 0 ]
Max sleep time: [ 100 ]
WEP encryption: [ On ]
TX encryption key: [ 1 ]
Encryption keys:[hogehoge][ ][ ][ ]
なんでだろ、man wiとかすると
Create a host-based access point with WEP enabled (Prism only):
ifconfig wi0 inet 192.168.0.10 netmask 0xffffff00 ssid my_ap \
wepmode on wepkey 0x1234567890 media DS/11Mbps \
mediaopt hostap
Create a host-based wireless bridge to fxp0 (Prism only):
Add BRIDGE to the kernel config.
ifconfig wi0 inet up ssid my_ap media DS/11Mbps mediaopt hostap
sysctl net.link.ether.bridge.enable=1
sysctl net.link.ether.bridge.config=”wi0 fxp0″
sysctl net.inet.ip.check_interface=0
と書いてあるのが問題かなぁ。
http://arkiv.netbsd.se/?list=freebsd-current&a=2004-05&mid=238068
http://lists.freebsd.org/pipermail/freebsd-current/2004-May/thread.html#28024
ここらへんを見てみると、EnableSoftAPがミソっぽい。
ので、ndis_driver_data.hを書き換えてみるけどだめぽ
ということで、クライアントには使えるけれども、アクセスポイントにはできませんでした。(泣)
これ以上は面倒なので、素直にPrismのカード買ってこようかな。。。
ちなみに起動時に勝手に起きてくるようにするには、
/boot/localer.confに
ndis_load=”YES”
if_ndis_load=”YES”
と書いておくらしいんですが、未調査です。

ndis(4)と-current


melcoのWLI2-PCI-G54を買ってきておうちで無線ルーターを構築しようと思ったのだが、
こいつに乗ってるchipである、BCM4306はFreeBSDのdriverがない。
んで、ぐぐってたらndis(4)を使えばいけそう。
http://www.don.to/diary/2004/0119-ndis/
Windows 2000/XPのdriverがFreeBSDで使えるなんて、なんて便利なんざましょ。
しかし、-currentじゃないとだめだという話なので、頑張って-currentにしてまふ。
とりあえず今日はcvsupして寝ようかな。