cobblerトップへ戻る

Error: Failed to load processor TOC
No macro or processor named 'TOC' found

cobblerサーバの作り方

このページは本家wikiサイトのCobbler Manpageを、編者である Michael DeHaan 氏に許可を得て(原作者のHarry Hoffman氏は行方がわからないとのことですので、、、)、個人的に翻訳したものを公開しています。
あくまでも個人的な訳となっており、意訳・超訳的なところも多々ありますので、翻訳・記述の内容に不備やご意見等あればご指摘・ご連絡頂けると助かります。(翻訳日:2007/9/23)

免責事項

始める前に、Red Hat Magazine の以下の記事も読みたいと思うかもしれません。

http://www.redhatmagazine.com/2007/08/10/cobbler-how-to-set-up-a-network-boot-server-in-10-minutes/

このドキュメントは、上記のドキュメントをより現実世界に近い設定という感じで幾分拡張したものです。ただしあくまでも1例ですので、あなたがセットアップする場合にはもちろん異なる可能性があるでしょう。この記事ではとりわけ、DHCP管理機能とファイアウォールのルールの調整についての情報— (全員という訳ではないですが)何人かはこの二つを行いたいと思うことでしょう— について取り上げています。どうするかはあなたの環境に依ります。

はじめに

このドキュメントは、私が、インストール(cobbler)と設定管理(puppet)を行うサーバを構築した手順について説明しています。cobblerサーバの基本となるOSはCentOS 5でselinuxを有効にしています。

やり方

1. 「 ネットワークサーバ」グループを選択してサーバをインストールします。

2. puppet で必要なパッケージをインストールする為に rpmforge レポジトリをインストールします。

# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

3. いろいろなサーバ用のバイナリパッケージをインストールします。(あなたの設定によってはこれらの全てが必要ではない場合があります。)

# yum -y install cobbler koan tftp-server dhcp cft facter puppet subversion httpd named

4. 正しくインストールされていることを確認する為に、"cobbler check" を実行して、"/var/lib/cobbler/settings" の 'server' と 'next_server' に新しいブートサーバのIPアドレスをセットします。また、 cobbler を使って ISC dhcpd の管理を行いたいので、'manage_dhcp' を 1 にセットします。

/var/lib/cobbler/settings:

---
bootloaders:
    ia64: /var/lib/cobbler/elilo-3.6-ia64.efi
    standard: /usr/lib/syslinux/pxelinux.0
default_kickstart: /etc/cobbler/default.ks
dhcpd_bin: /usr/sbin/dhcpd
dhcpd_conf: /etc/dhcpd.conf
httpd_bin: /usr/sbin/httpd
kernel_options:
    ksdevice: eth0
    lang: ' '
    syslog: '192.168.1.3:25150'
    text: ~
koan_path: ''
manage_dhcp: 1
minimize_syncs: 1
next_server: '192.168.1.3'
server: '192.168.1.3'
syslog_port: 25150
tftpboot: /tftpboot
tftpd_bin: /usr/sbin/in.tftpd
tftpd_conf: /etc/xinetd.d/tftp
webdir: /var/www/cobbler
xmlrpc_port: 25151
yum_core_mirror_from_server: 0

5. ステップ5はありません。

6. ディストリビューションをインポートします。

# cobbler import --mirror=rsync://rsync.gtlib.gatech.edu/centos/4.5/os/i386/ --mirror-name="CentOS-4.5-i386"

DVDやISOイメージを既に持っている場合は、それをマウントしてディストリビューションをインポートすることが出来ますし、既にインストールツリーのミラーを内部サーバなどで保持している場合は、--mirror=ユーザ名@ホスト名:パス を指定して、内部のサーバからのコンテンツのコピーをrsyncで行うことが出来ることを注記しておきます。

7. "/etc/cobbler/dhcp.template"があなたの環境に合わせて正しく設定されていることを確認してください。もし既に/etc/dhcp.confを設定している場合は、その設定内容を/etc/cobber/dhcp.template においても使えるように編集してください。というのは、DHCP管理機能を有効にした場合は、cobblerは元の設定を上書きしてしまうからです。

以下はネットワーウの設定によって異なる場合があります。

/etc/cobbler/dhcp.template:

# ******************************************************************
# Cobbler managed dhcpd.conf file
#
# generated from cobbler dhcp.conf template ($date)
#
# ******************************************************************

ddns-update-style none;
ignore client-updates;
use-host-decl-names on;
authoritative;

set vendorclass = option vendor-class-identifier;

subnet 192.168.0.0 netmask 255.255.240.0 {
        option routers  192.168.1.254, 192.168.1.249;
        option subnet-mask   255.255.240.0;
        option domain-name   "corp.payquik.com";
        option domain-name-servers   192.168.1.3, 192.168.1.6;
        option time-offset   -18000; #EST
        pool {
                range dynamic-bootp  192.168.1.110 192.168.1.150;
                default-lease-time 86400;
                max-lease-time 86400;
        }
        next-server 192.168.1.6;
        filename "pxelinux.0";
        allow bootp;
        allow booting;
        filename                "/pxelinux.0";
        default-lease-time      21600;
        max-lease-time          43200;
        next-server             192.168.1.3;
}

$insert_cobbler_system_definitions

8. 必要なサービスが実行されており自動起動するように設定されていることを確認してください。

/sbin/service httpd start
/sbin/service dhcpd start
/sbin/service xinetd start
/sbin/service tftp start
/sbin/service cobblerd start

/sbin/chkconfig httpd on
/sbin/chkconfig dhcpd on
/sbin/chkconfig xinetd on
/sbin/chkconfig tftp on

cobblerdは自動で有効になりますが、koanをテストする為にすぐにスタートしたいと思うかもしれません。

9. 適切なiptablesのルールを設定します:

/etc/sysconfig/iptables

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A INPUT -p icmp --icmp-type any -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# LOCALHOST
-A INPUT -i lo -j ACCEPT

# SSH
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
# DNS - TCP/UDP
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
# DHCP
-A INPUT -m state --state NEW -m udp -p udp --dport 68 -j ACCEPT
# TFTP - TCP/UDP
-A INPUT -m state --state NEW -m tcp -p tcp --dport 69 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT
# NTP
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
# HTTP/HTTPS
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
# Syslog for cobbler
-A INPUT -m state --state NEW -m udp -p udp --dport 25150 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25150 -j ACCEPT
# Koan XMLRPC port
-A INPUT -m state --state NEW -m udp -p udp --dport 25151 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25151 -j ACCEPT

#-A INPUT -j LOG
-A INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

10. conntrackモジュールがロードされていることを確認します:

/etc/sysconfig/iptables-config

IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_tftp"

最後に

(このセクションは拡張される可能性があります。)

11. "cobbler profile add/edit" や "cobbler system add" など他のcobblerコマンドを、Cobbler Manページに従って使ってみてください。"cobbler sync" を実行すると、cobblerで行った設定がDHCPに反映されます。いくつかのシステムでPXEを試すか、koanを使って、全てがちゃんと動作しているかを確認してください。

作者

Harry Hoffman + (Michael DeHaanがいくつか追記)

翻訳者

Kuniaki Shimizu <kunkichi at gmail.com>