①インストール
②Scientific Linux 7.6の設定に関する留意点
③sshdの設定
④FTP(vsftpd)の設定
⑤SAMBA(CIFS)の設定
⑥httpd Apacheの設定
⑦Windows 10 Proffessionalの設定
⑧Linuxのコマンド類
・ISOファイルを(SL-76-x86_64-2018-12-09-LiveDVDgnome.iso)を理研のFTPサイトからダウンロードする。
・三種類(DVD/倍密DVD/BD)のISOファイルがある。ここではDVD-Rに焼き込めるLiveDVD。gnome版を使用する。
・このLive版は本来DVDのみで起動するポータブル版であるが、新規でHDDへインストールする。
・ローカルホストに適当なurl設定をおこなうために、ローカルdns設定を予め行うこと。
・主なdaemon類は自動起動設定されていません。自動起動設定はsystemctlコマンドで設定します。
以前Linux6.xまでは/etc/rc.d/init.d/httpd restartのような設定でしたがsystemd移行で今後は用いません。
#systemctl enable デーモン名 (デーモンを自動起動設定する)
#systemctl start デーモン名 (デーモンを起動する)
#systemctl restart デーモン名 (デーモンを再起動する)
#systemctl stop デーモン名 (デーモンを停止する)
・インターネットアクセスするdaemon類はfirewallでブロックされています。ブロック解除はfirewall-cmdコマンドで行います。
#firewall-cmd --add-service=デーモン名 --parmanent(デーモンを永続的にNET透過させる)
#firewall-cmd --list-all (設定状況を確認する)
・VIVE DVDではsshdはプリ・インストール済み。しかし設定無しでは利用できない。
・systemctlコマンドで自動起動設定する。
#systemctl enable sshd
・firewallコマンドでネットブロックを解除する。
#firewall-cmd --add-service=sshd --parmanent
・vsftpdはVIVE DVDでがプリ・インストールされない。yumコマンドで手動でインストールする。
#yum -y install vsftpd
・systemctlコマンドで自動起動設定する。
#systemctl enable vsftpd
・firewallコマンドでネットブロックを解除する。
#firewall-cmd --add-service=vsftpd --parmanent
・ただしデフォルトの設定だとanonymous設定で起動されるのでcgi等の転送には不向き。
/etc/vsftpd/vsftpd.conf の11行目、のanonymous_enable設定をYES→NOに変更するだけでユーザ認証に切り替わる。
anonymous_enable =YES → NO
①sambaのインストール
#yum -y install samba samba-common
②sambaユーザのIDとパスワードの登録
#pdbedit -a ユーザ名 (LinuxのユーザIDとは別個の設定)
③sambaデーモンの自動起動設定
#systemctl enable smb
#systemctl enable nmb
④sambaデーモンのファイアウォール透過設定
#firewall-cmd --add-service=smb --parmanent
#firewall-cmd --add-service=nmb --parmanent
sambaサーバーの設定はrootログインかsuコマンドでroot権限取得後に行う。
次に/etc/samba/smb.confを書き換えてsambaのディレクトリパスなどの設定を行う。
smbpasswdで接続ユーザーとパスワードを設定する。
以下はsamba.confの例。
#======================= Global Settings =====================================
[global]
log file = /var/log/samba/log.%m
load printers = yes
cups options = raw
netbios name = MY_SMB_SERVER
server string = Samba Server Version %v
workgroup = WORKGROUP
os level = 20
security = user
passdb backend = tdbsam
max log size = 50
interfaces = eth0 127.0.0.1 192.168.1.0/24
blind interfaces only = yes
hosts allow = 192.168.1.
#======================= Share Definitions ==============================
[httpd]
writable = yes
browseable = yes
path = /var/homepage/html
guest = ok
[home]
writable = yes
browseable = yes
path = /home
guest = ok
・LIVE DVDではsshdはプリ・インストール済み。しかし設定無しのままでは利用できない。
・systemctlコマンドで自動起動設定する。
#systemctl enable httpd
・firewallコマンドでネットブロックを解除する。
#firewall-cmd --add-service=httpd --parmanent
Live DVD版では perl, ruby, python, PHPなどはインストール済み。
1.ルーターのマスカレード設定で、smtp(25), submission(587), imaps(993), pop3(110) を鯖へ転送設定する
2.鯖のファイヤーウォールの設定で上記ポートをtcp/udpともに開けておく。
3.postfixとcyrus-saslをインストールしておく
4.useradd と passwd コマンドでユーザを作成する
5.saslpasswd2 -c -u domain名 user名 でSMTP認証パスワードを設定する
6. postfixとdovecotの設定ファイルを整備する。
7.postfix, dovecot, saslauthd を chkconfig on する。
7.postfix, dovecot, saslauthd を リスタートする。
CentOS5.2など、設定によってはgcc/ccがインストールできない。その場合のyum/RPMは以下のコマンドで。
# yum install gcc* compat-gcc* compat-glibc* compat-lib*
/usr/bin/perlで直接実行、エラー無しにも関わらず、cgiモジュールがapacheでサーバーエラーが生じる場合は、cgiファイルの改行コードがLFだけであるかどうかを確認すること。ftp転送中とかでsjis変換されていると改行コードがCR/LFとなる場合があり、この場合だとエラーが生じる。ソースコードはUTF-8記述が望ましい。
yum install -y bind
yum install -y bind-chroot
CentOS 5.2は、インストール直後の状態でDNSは起動していない。/etc/rc.d/init.d/named startとコマンドすればとりあえずクライアント用のDNSサーバーとして利用可能になるはず。ただしこの場合、ネット設定でゲートウェイ設定を行い、インターネット接続が可能な状態でなければならない。
BIND9は巨大なブログラムなので全てを使い切るのも説明するのも難しい。そういうことは他にお願いするとして、ここでは、あくまで個人の私的な利用に限ったローカルドメインのDNSのメモ書きに留める。
ローカル・ドメインの設定とは、192.168.0.0~192.168.255.255までのローカルネットIPに接続された機器にドメイン名を割り振って利用する場合の設定。たとえば、pilots.eva などというドメインを自分自身で勝手に設定し、以下の様にドメイン名を割り振ることができる。
dns.pilots.eva 192.168.1.10 www.pilots.eva 192.168.1.10 rei.pilots.eva 192.168.1.11 asuka.pilots.eva 192.168.1.12 sinji.pilots.eva 192.168.1.13
上記のような身勝手ドメインといえども、きちんと設定すれば、自宅サーバーもイントラネットサーバーとしてドメイン名を用いて自在にアクセスできる。ただしあくまでイントラネット利用に限るが、ローカルサーバー上のリンクページをクリックして他のリアル・サーバーにアクセスした際、先方のアクセスログのリファラ記録には身勝手なローカルサーバー名が記録として残るようである。
CentOSのBIND9の設定は手動設定が望ましい。というのも、CentOSの設定ではセキュリティ強化の観点からchroot機能を用いられていて、named.conf等の設定ファイルが/etc/から/var/named/chroot/etc/ 他に蜃気楼的に移動しているからである。
/var/named/chroot/以下はサーバーのルートディレクトリの配置イメージであるが、root権限者でなければ見ることが許されない。そうしたセキュリティがかけられている。よってBIND9/DNSの設定を行う場合は、/var/named/chroot/etc/named.conf が設定ファイルとなる。
/var/named/chroot/etc/named.confの例
=====================================================
//
// BIND 9 簡易設定
//
// ローカルホストのリゾルバ。
// キーボード操作によりホスト自身が参照する場合のDNSの定義設定
view "localhost_resolver"
{
match-clients { localhost; };
match-destinations { localhost; };
recursion yes; // インターネット内の様々なドメイン名参照を許可するという意味
// RFC1912で定義される localhost, localdomainの定義ファイル。BIND9のパッケージに含まれているもの。
include "/etc/named.def";
// all views must contain the root hints zone:
// rootservers.defはroot name サーバーのIPアドレスを記録したファイル。
zone "." IN {type hint; file "/etc/rootservers.def"; };
zone "pilots.eva" {
type master;
file "/etc/pilots.eva.db";
};
// ローカルドメインといえど、きちんと逆引き定義はするのが吉。
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/1.168.192.in-addr.arpa.zone.db";
};
};
// イントラネット接続クライアント向けのリゾルバ定義。
// 以下はイントラネット内のクライアントPC(Windows/Mac等)がDNS参照する場合に応答する部分の記述。
view "internal_resolver"
{
match-clients { localnets; };
match-destinations { localnets; };
recursion yes; // インターネット内の様々なドメイン名参照を許可するという意味
// all views must contain the root hints zone:
// rootservers.defはroot name サーバーのIPアドレスを記録したファイル。
zone "." IN {type hint; file "/etc/rootservers.def"; };
// 以下にローカルドメインを定義するファイルの所在を記述する
zone "pilots.eva" {
type master;
file "/etc/pilots.eva.db";
};
// ローカルドメインといえど、きちんと逆引き定義はするのが吉。
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/1.168.192.in-addr.arpa.zone.db";
};
};
//以下はローカル利用の場合は不要。
//公開サーバーを設置する場合のドメイン定義ファイルの所在は以下に記述する。
view "external_resolver"
{
match-clients { !localnets; !localhost; };
match-destinations { !localnets; !localhost; };
recursion no; // BIND9の公開サーバーはnoがお約束。DDoS攻撃の踏み台化の防止がその理由。
zone "." IN {type hint; file "/etc/rootservers.def"; };
};
正引きファイル:/var/named/chroot/etc/pilots.eva.db の例
=====================================================
$TTL 1H @ SOA ns1.pilots.eva. root.pilots.eva. ( 24
3H
1H
1W
1H )IN NS @ @ IN A 192.168.1.10 dns IN A 192.168.1.10 www IN A 192.168.1.10 rei IN A 192.168.1.11 asuka IN A 192.168.1.12 sinji IN A 192.168.1.13
逆引きファイル:/var/named/chroot/etc/1.168.192.in-addr.arpa.zone.db の例
=====================================================
$TTL 86400 @ IN SOA ns1.pilots.eva. root.localhost ( 1 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttk
)
IN NS ns1.pilots.eva. 2 IN PTR mac.pilots.eva. 3 IN PTR xp.pilots.eva. 5 IN PTR vista.pilots.eva. 10 IN PTR www.pilots.eva. 11 IN PTR rei.pilots.eva. 12 IN PTR asuka.pilots.eva. 13 IN PTR sinji.pilots.eva.
dns | IN | A | 192.168.1.10 |
www | IN | A | 192.168.1.10 |
ikari | IN | A | 192.168.1.11 |
gendou.ikari | IN | A | 192.168.1.11 |
yui.ikari | IN | A | 192.168.1.11 |
shinji.ikari | IN | A | 192.168.1.11 |