LinuxTips(旧コンテンツ抜粋)
- WebMailで送信できない
設定はあってるはずなのにメールが送信できない
「エラー:501 Bad address syntax」のエラーメッセージがでるそもそも、同一マシンのメールサーバ(Postfix)を使用しての送信ができない
解決方法としては
postfixのmain.cfの以下の行を”no”にする事で送信できるようになった
strict_rfc821_envelopes = yesメールアドレスがRFCに準拠していない場合は接続をキャンセルするオプションらしい
- PXEブート
その1VineLinux 4.0もリリースされたので新サーバ(ThinkPad X31)へのインストール作業を始めました
まずはPXEブートでインストールするために環境を整備しています
PXEのサーバとなるものは現行サーバ(自作マシン Vine2.6r4)です必要なものは
・dhcpサーバ
・tftpサーバ
・httpサーバ(http経由でインストールをする予定)
の3つ1) dhcpサーバ
apt-get install dhcpd
でインストール
/etc/dhcpd.conf
を編集し、以下のようにしました—–
subnet 192.168.0.0 netmask 255.255.255.0 {
# — default gateway
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;option nis-domain “domain.org”;
option domain-name “domain.org”;
option domain-name-servers 192.168.0.1;option time-offset -5; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# — Selects point-to-point node (default is hybrid). Don’t change this unless
# — you understand Netbios very well
# option netbios-node-type 2;#lease range 192.168.0.128 – 192.168.0.199
range dynamic-bootp 192.168.0.128 192.168.0.199;
default-lease-time 21600;
max-lease-time 43200;#option dhcp-class-identifier “PXEClient”;
filename “/tftpboot/linux-install/pxelinux.0″;
}
—–
デフォルトから変更したのはアドレスと下2行のPXEブートの設定ぐらいですあとは
/etc/init.d/dhcpd start
で起動これで、192.168.0.128~192.168.0.199の範囲でIPを割り当てるdhcpサーバが起動しました
その2
2) tftpサーバ
apt-get install tftp-server
でインストール可能なようです実はパッケージ名を確認せずに
apt-get install tftpd
でパッケージが見つからないのエラーになってしまった為
atftpのtarボールからコンパイル・インストールしてしまいました/etc/inetd.confに
tftp dgram udp wait root /usr/sbin/tcpd in.tftpd –tftpd-timeout 300 –retry-timeout 5 –mcast_port 1753 –mcast_addr 239.255.0.0-255 –maxthread 100 –verbose=5 /tftpboot
以下を追加
(atftpでの設定なのでvine2.6標準のtftp-serverでは設定が少々違うかも)/etc/init.d/inet restart
でinetdを再起動します/tftpboot/linux-install
/tftpboot/linux-install/pxelinux.cfg
の2つのディレクトリを作成し
/tftpboot/linux-installには
VineLinux4.0のinitrd.imgとvmlinuzをコピーしておきます
コピーする方法として以下のようにします
mount -t iso9660 -o loop /home/filn/cdimage/Vine40-i386.iso /mnt/iso
これでisoイメージファイルのまま中身のファイルにアクセスできます
cp /mnt/iso/images/pxeboot/initrd.img /tftpboot/linux-install
cp /mnt/iso/images/pxeboot/vmlinuz /tftpboot/linux-installここで初めは勘違いをしていました
/tftpboot/linux-installにはさらにsyslinuxの一部であるpxelinux.0をコピーしておく必要があります
vine2.6にもsyslinuxは用意されていますが、今回はpxelinux.0だけが欲しいので
パッケージでインストールするのではなく、syslinuxのtarボールからコンパイルしました(コンパイルだけでインストールはしていません)
コンパイルして出来上がったpxelinux.0を/tftpboot/linux-installにコピーしておきます/tftpboot/linux-install/pxelinux.cfg/default
を編集(新規作成)し、以下のようにします
—–
default Vine4label Vine4
kernel vmlinuz
append load initrd=initrd.img devfs=nomount
—–これでtftpの準備はできました
その3
3) httpサーバ
VineLinux4.0をインストールする際にファイルを取得するためにいくつかの転送方法がありますが
今回はhttp経由にしました先ほど/mnt/iso以下にVineLinux4.0のisoイメージをマウントしてあるので
それをhttpでアクセスできるようにします/etc/httpd/conf/httpd.conf
に
—–
Alias /vine4 “/mnt/iso”Options MultiViews Indexes FollowSymLinks
Order deny,allow
Deny from all
Allow from 192.168.0.0/24 127.0.0.1 #LANの中からだけ許可します—–
を追加して
/etc/init.d/httpd restart
でhttpサーバを再起動しますこれで、PXEブートでVineLinux4.0をインストールするすべての準備が整いました
その4
いよいよPXEブートによる、VineLinux4.0のインストールです
X31の電源を入れ、F12を押してbootメニューを表示し、IBAという項目があるので選択しますdhcpでipを割り当てたあと、tftpで起動イメージを取得して
ほどなくインストーラが起動しました途中、IPの設定画面や転送方式、転送元の指定画面がある以外はCDで起動したインストーラと差はありません
後で、個別にパッケージを指定してインストールしたいので
最小構成でインストールします
サーバ用途なのでX関係も必要ないですし準備はちょっと必要だけど光学ドライブが無くてもCDでの起動と変わりなくインストールができるのは便利です
- DNSサーバ
内向き(家庭内のLAN限定)のDNSサーバを構築しますまずはインストール
apt-get install bind bind-utils続いて設定ファイル
/etc/named.conf
—–
options {
directory “/var/named/”;
version “unknown”;
forwarders { #自分で解決できない場合はプロバイダのDNSに問い合わせる
202.234.232.6; #プライマリ
221.113.139.250; #セカンダリ
};
allow-query { #自分自身とローカルLANからのみ許可する
127.0.0.1;
192.168.0.0/24;
};
};zone “.” {
type hint;
file “named.ca”;
};zone “filn.no-ip.org” {
type master;
file “filn.no-ip.org.db”;
allow-update { none; };
};zone “0.168.192.in-addr.arpa” {
type master;
file “0.168.192.in-addr.arpa.zone”;
allow-update { none; };
};
—–/var/named/filn.no-ip.org.db
—–
$TTL 86400
@ IN SOA filn.no-ip.org. root.filn.no-ip.org. (
2006112701
28800
1440
360000
86400
);IN NS filn.no-ip.org.
IN MX 10 filn.no-ip.org.
@ IN A 192.168.0.200
* IN A 192.188.0.200rd-x6 IN A 192.168.0.101
client IN A 192.168.0.50
cap IN A 192.168.0.56
enc IN A 192.168.0.57
sc420 IN A 192.168.0.58
—–/var/named/
—–
$TTL 86400
@ IN SOA filn.no-ip.org. root.filn.no-ip.org. (
2006112601
28800
1440
3600000
86400
);IN NS filn.no-ip.org.
IN MX 10 filn.no-ip.org.200 IN PTR filn.no-ip.org.
101 IN PTR rd-x6.filn.no-ip.org.
50 IN PTR client.filn.no-ip.org.
56 IN PTR cap.filn.no-ip.org.
57 IN PTR enc.filn.no-ip.org.
58 IN PTR sc420.filn.no-ip.org.
—–それぞれ上記のようにします
ftp://ftp.rs.internic.net/domain/named.rootからダウンロードしたファイルを/var/named/named.caとして保存します
ここに実は失敗談があって初め内側のドメインは引けるのに外部のドメインが引けない状態におちいった
ここと同じ現象でnamed.caが問題だった
外部に公開しないし、forwardersにプロバイダのDNSを指定したから空っぽでもいいだろうと
単にtouch /var/named/named.caで作成しておいたのがまずかったっぽい
forwardersに書いてあるんだからそっから引いてくれよと思いつつ/etc/init.d/named start
で起動/etc/resolv.conf
は以下のようにしてDNSサーバを自分自身と指定します
—–
search filn.no-ip.org
nameserver 127.0.0.1
—–
「search filn.no-ip.org」とつけたのは、ドメイン名を省略するためです
これで、clientでもclient.filn.no-ip.orgでも192.168.0.50が引けますDNSだけでも意外とたいへんよね・・・慣れればそうでもないんだろうけど
- crontab
ログのローテートや各種統計情報の取得のためにcronをセットしようとしたところ
crontabが使えない・・・や、もちろん、/etc/crontabはありますよ?
でも、crontab -lやcrontab -eのフロントエンド(?)が使えない現行環境では/usr/bin/crontabにあるし
なにかパッケージが足りない現行環境でrpm -qa | grep cronをすると
anacron-2.3-15
crontabs-1.9-2vl1
vixie-cron-3.0.1-63vl2
と表示されるvixie-cronが新環境には無いのでどうやらこれっぽい
(新環境は最小パッケージでインストールしてある)apt-get install vixie-cron
でインストールすると、無事crontab -eなどが使えるようになりました#crontab パッケージ等でググっても見つからなかったので
#誰か同じ状況で困っているひとがこれを参考にして解決してくれるといいなぁ^^