RHECEラーニング<7>DNS、FTPおよびDHCPサービス構成の詳細
一、DNSサーバー
簡単な説明:DNSサーバの多くはBINDをサーバとして使用しており、バークリー大学の学生が最初に作成したもので、最新バージョンは9で、現在はISCが作成し、維持しています.TCP、UDPプロトコル、デフォルト53(domain)、953(mdc)を使用します.
1>.DNSサーバの役割
フォワード解析:ホスト名(ドメイン名)に基づいて対応するIPアドレスを検索
逆解析:IPアドレスに基づいて対応するホストドメイン名を検索
2>.DNSの2つのクエリー方式
再帰クエリ:クライアント――>ローカルDNSサーバ――答えられない場合、ルートDNSサーバ――>ルートDNSサーバはドメインタイプをクエリし、IPを得てクライアントに直接渡す.
反復クエリ(循環クエリ):クライアント->ローカルDNSサーバ->ルートDNSサーバのクエリ->ルートDNSサーバドメインタイプIPを取得->クライアントに元のパスで返す.
3>.DNSサーバの3種類
ドメインマスターDNSサーバ(master):zoneプロファイルを保存し、ドメイン情報を保持する
ドメインDNSサーバ(slave):冗長負荷使用、メインDNSサービスからzoneプロファイルのキャプチャ
キャッシュDNSサーバ(caching):負荷分散、アクセス加速使用
1、ドメイン主DNSサーバー
DNSサーバ:192.168.0.202
DNSクライアント:192.168.0.203
#正逆領域データファイルの作成
#マスタープロファイルとゾーンデータファイルの構文の正確性を検出
#新規DNSをネイティブ優先DNSサーバとして使用
#テスト#テスト#
2、ドメイン主従DNSサーバー
プライマリDNSサーバ:192.168.0.202
DNSサーバから:192.168.0.203
プライマリDNSサーバの構成は、上の構成と同じです.allow-transfer{none;}allow-transfer{192.168.0.203;}に変更します.プライマリDNSサーバを定義すると、ゾーンデータファイルをDNSサーバからコピーできます.
3、キャッシュDNSサーバー
DNSのために上流DNSサーバーのアドレスを指定することができて、自分で解析を完成することができないならば、上流DNSサーバーに1つの良いクライアントに解析させます
二、FTPサーバー
1>.FTP:C/Sアーキテクチャーサービスは、TCPプロトコルを下位層伝送として使用し、データ伝送の信頼性を提供する
2>.FTP接続方式
制御接続:標準ポートは21で、FTPコマンド情報を送信する
データ接続:標準ポートは20で、データのアップロード、ダウンロードに使用されます.
3>.2つの動作モード:
プロアクティブモード:クライアントはサービス側に要求を開始し、サービス側は要求を受信した後、クライアントに20ポートを開くように指示し、サーバは自発的に20ポートにデータ接続を開始する.
受動モード:クライアントはサーバーに要求を開始し、サービス側は要求を受け取った後、ランダムにポートを開き、クライアントに私が受動モードであることを伝え、クライアントはサービス側のランダムポートにデータ接続を確立する.
4>.Vsftpd関連プロファイル:
/etc/vsftpd/vsftp.conf:プライマリプロファイル
/etc/vsftpd/ftpusers:ブラックリスト
/etc/vsftpd/user_List:制御リスト(プロファイルコントローラがホワイトリストかブラックリストか)
/var/log/xferlog:デフォルトログファイル
5>.匿名ユーザ(デフォルト)、システムユーザ、仮想ユーザの3種類.
6>.一般的な構成項目と意味説明
anonymous_enable=YES #匿名ユーザーftpまたはanonymousのログインを許可するかどうか
anon_root=/var/ftp #匿名ユーザのFPTルートディレクトリの設定(デフォルトは/var/ftp)
anon_umask=022 #匿名ユーザーがアップロードしたファイルのデフォルト権限マスク値を設定
anon_world_readable_only=no#匿名ユーザーがダウンロードファイルを閲覧できる権限anon_upload_enable=YES #匿名ユーザーにファイルのアップロードを許可するかどうかanon_mkdir_write_enable=YES#匿名ユーザーにディレクトリを作成する権利を許可するかどうか
anon_other_write_Enable=YES#ファイルの名前変更、上書き、削除など、匿名ユーザーに他の書き込み権限を許可するかどうか.
anon_max_rate #匿名ユーザの最大転送レート(0は無制限)をバイトdirmessage_単位で制限enable=YES #ディレクトリの説明ファイルを表示するかどうか、デフォルトはYESですが、手動で.messageファイルを作成する必要があります.
local_enable=YES #ローカルユーザーのログインを許可するかどうか
local_umask=022 #ローカル・ユーザーがアップロードしたファイルのデフォルト権限マスク値を設定
local_root=/var/ftp #ローカルユーザのFPTルートディレクトリの設定(デフォルトはユーザのホストディレクトリ)
local_max_rate #ローカル・ユーザーの最大転送速度(0は無制限)をバイト単位で制限
chroot_local_user=yes #FPTローカルユーザをホストディレクトリに閉じ込めるかどうか
listen_port 21 #監原FTPサービスのポート番号の設定
write_enable=yes #ファイルのアップロード、削除など、任意の形式の書き込み権限を有効にするには、このオプションをオンにする必要があります.
download_enable=yes #ファイルのダウンロードを許可するかどうか(ブラウズ、アップロードのみのFTPサーバを確立する場合はnoに設定可能)xferlog_enable=YES #ftp転送プロセスを記録するかどうか、すなわちFTPログを有効にし、デフォルトは/var/log/xferlogファイルに記録する
xferlog_std_format=yes #標準のxferlogログフォーマットを有効にします.無効にすると、vsftpd独自のログフォーマットが使用されます.
connect_from_port_20=YES #ポート転送が20から来たと確信しているかどうか(ftp-data)
chown_upload=YES #アップロードファイルの所有者chownを変更するかどうかusername=username #所有者をそのユーザーに変更する
pasv_enable=yes #パッシブモード接続を許可
pasv_max_port=24600 #パッシブモード用サーバーの最大ポート番号の設定
pasv_min_port=24500 #パッシブモード用のサーバー最小ポート番号の設定
pam_service_name=vsftpd #ユーザー認証用のPAMファイルの場所を設定します(/etc/pam.dディレクトリの対応するファイル名)
userlist_enable=yes #user_を有効にするかどうかlistユーザーリストファイル
userlist_deny=yes #user_を禁止するかどうかListリストファイルのユーザーアカウント
max_clients=0 #最大何個のクライアントがFTPサーバーに接続できるか(0は無制限)
max_per_ip=0 #同じIPアドレスからのクライアントに対して、最大何個の同時接続が許可されますか(0は制限なし)
tcp_wrappers=yes #tcp_を有効にするかどうかwrappersアクセス制御
idle_session_timeout=600 #デフォルトの切断非アクティブセッションの時間data_を設定connection_timeout=120#データ転送タイムアウト時間を設定し、データ接続を2分間切断する
accept_timeout=60(秒)#クライアントを1分空けて切断
1.Vsftpdをインストールし、ユーザー認証アクセスを構成する
#ファイアウォールの追加許可
2、Vsftpd仮想ユーザー構成
以下を参照してください.http://going.blog.51cto.com/7876557/1294765
3、Vsftpd+SSL暗号化伝送を実現
#証明書の生成(パーソナルキーと証明書を含む)
#vsftpd構成SSLサポート
テスト:flashfxpソフトウェアを使用して、転送中にsslを使用して通信することをテストします.
三、DHCPサーバー
1、dhcpをインストールする
2、メインプロファイルの変更
3、dhcpを起動する
4、起動失敗の可能性
1>.内容は文法構造に合致せず、例えば、少数のセミコロン;
2>.宣言されたサブネットとサブネットマスクが一致しない;
3>.ホストIPアドレスと宣言されたサブネットは同じセグメントにありません.
4>.ホストにIPアドレスが設定されていません.
5>.プロファイルパスに問題が発生しました.例えばRHEL 6以下のバージョンでは、プロファイルは/etc/dhcpd.confに保存されていますが、
rhel 6以降は/etc/dhcp/dhcpd.confに保存されています.
簡単な説明:DNSサーバの多くはBINDをサーバとして使用しており、バークリー大学の学生が最初に作成したもので、最新バージョンは9で、現在はISCが作成し、維持しています.TCP、UDPプロトコル、デフォルト53(domain)、953(mdc)を使用します.
1>.DNSサーバの役割
フォワード解析:ホスト名(ドメイン名)に基づいて対応するIPアドレスを検索
逆解析:IPアドレスに基づいて対応するホストドメイン名を検索
2>.DNSの2つのクエリー方式
再帰クエリ:クライアント――>ローカルDNSサーバ――答えられない場合、ルートDNSサーバ――>ルートDNSサーバはドメインタイプをクエリし、IPを得てクライアントに直接渡す.
反復クエリ(循環クエリ):クライアント->ローカルDNSサーバ->ルートDNSサーバのクエリ->ルートDNSサーバドメインタイプIPを取得->クライアントに元のパスで返す.
3>.DNSサーバの3種類
ドメインマスターDNSサーバ(master):zoneプロファイルを保存し、ドメイン情報を保持する
ドメインDNSサーバ(slave):冗長負荷使用、メインDNSサービスからzoneプロファイルのキャプチャ
キャッシュDNSサーバ(caching):負荷分散、アクセス加速使用
1、ドメイン主DNSサーバー
DNSサーバ:192.168.0.202
DNSクライアント:192.168.0.203
[root@dns ~]# yum install gcc gcc-c++ bind bind-chroot bind-utils
[root@dns ~]# cp -r /usr/share/doc/bind-9.8.2/sample/etc/named.conf /var/named/chroot/etc/
[root@dns ~]# cp -r /usr/share/doc/bind-9.8.2/sample/var/named/* /var/named/chroot/var/named/
[root@dns ~]# cd /var/named/chroot/var/named/
[root@dns named]# vi ../../etc/named.conf
options #
{
directory "/var/named"; #
listen-on port 53 { 192.168.0.202; }; # ,any
listen-on-v6 port 53 { ::1; }; #ipv6
allow-query { any; }; #any
allow-query-cache { any; }; #
recursion yes; #
};
logging # 、
{
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "test.com" IN { #
type master;
file "test.com.zone";
allow-update { none; }; # ,none
allow-transfer { none; }; # , slave
};
zone "0.168.192.in-addr.apra" IN { #
type master;
file "test.com.zone";
allow-update { none; };
allow-transfer { none; };
};
#正逆領域データファイルの作成
[root@dns named]# cp named.localhost test.net.zone
[root@dns named]# vi test.net.zone
$TTL 1D
@ IN SOA test.com. root.test.com. ( # DNS ,
0 ; serial #
1D ; refresh #
1H ; retry #
1W ; expire #
3H ) ; minimum
@ IN NS dns.test.com. #
dns IN A 192.168.0.202
mail IN A 192.168.0.203 #MX
IN MX 10 mail.test.com.
www IN A 192.168.0.203 #A
203 IN PTR mail.test.com. #PTR
#マスタープロファイルとゾーンデータファイルの構文の正確性を検出
[root@dns ~]# named-checkconf /var/named/chroot/etc/named.conf
[root@dns ~]# named-checkzone test.com /var/named/chroot/var/named/test.net.zone
[root@dns ~]# named-checkzone 0.168.192.in-addr.apra /var/named/chroot/var/named/test.net.zone
#新規DNSをネイティブ優先DNSサーバとして使用
[root@dns ~]# vi /etc/resolv.conf
nameserver 192.168.0.202
[root@dns ~]# service named start #
Generating /etc/rndc.key:
[root@dns ~]# rndc-confgen -r /dev/urandom -a # KEY,
[root@dns ~]# service named start
[root@dns ~]# chkconfig named on
#テスト#テスト#
[root@client ~]# nslookup www.test.com # , host
Server: 192.168.0.202
Address: 192.168.0.202#53
Name: www.test.com
Address: 192.168.0.203
[root@client ~]# nslookup #
> 192.168.0.203
Server: 202.106.0.20
Address: 202.106.0.20#53
203.0.168.192.in-addr.arpa name = client.
>
2、ドメイン主従DNSサーバー
プライマリDNSサーバ:192.168.0.202
DNSサーバから:192.168.0.203
プライマリDNSサーバの構成は、上の構成と同じです.allow-transfer{none;}allow-transfer{192.168.0.203;}に変更します.プライマリDNSサーバを定義すると、ゾーンデータファイルをDNSサーバからコピーできます.
[root@slaves ~]# vi /var/named/chroot/etc/named.conf
zone "test.com" IN {
type slave;
file "test.com.zone";
masters { 192.168.0.202; };
};
3、キャッシュDNSサーバー
DNSのために上流DNSサーバーのアドレスを指定することができて、自分で解析を完成することができないならば、上流DNSサーバーに1つの良いクライアントに解析させます
[root@slaves ~]# vi /var/named/chroot/etc/named.conf
Options{
Directory “/var/named/chroot/var/named/etc/”;
Forwarders only; # DNS , forwarders
forwarders { DNS IP ;}; # ip
allow-query {any;}; #
};
二、FTPサーバー
1>.FTP:C/Sアーキテクチャーサービスは、TCPプロトコルを下位層伝送として使用し、データ伝送の信頼性を提供する
2>.FTP接続方式
制御接続:標準ポートは21で、FTPコマンド情報を送信する
データ接続:標準ポートは20で、データのアップロード、ダウンロードに使用されます.
3>.2つの動作モード:
プロアクティブモード:クライアントはサービス側に要求を開始し、サービス側は要求を受信した後、クライアントに20ポートを開くように指示し、サーバは自発的に20ポートにデータ接続を開始する.
受動モード:クライアントはサーバーに要求を開始し、サービス側は要求を受け取った後、ランダムにポートを開き、クライアントに私が受動モードであることを伝え、クライアントはサービス側のランダムポートにデータ接続を確立する.
4>.Vsftpd関連プロファイル:
/etc/vsftpd/vsftp.conf:プライマリプロファイル
/etc/vsftpd/ftpusers:ブラックリスト
/etc/vsftpd/user_List:制御リスト(プロファイルコントローラがホワイトリストかブラックリストか)
/var/log/xferlog:デフォルトログファイル
5>.匿名ユーザ(デフォルト)、システムユーザ、仮想ユーザの3種類.
6>.一般的な構成項目と意味説明
anonymous_enable=YES #匿名ユーザーftpまたはanonymousのログインを許可するかどうか
anon_root=/var/ftp #匿名ユーザのFPTルートディレクトリの設定(デフォルトは/var/ftp)
anon_umask=022 #匿名ユーザーがアップロードしたファイルのデフォルト権限マスク値を設定
anon_world_readable_only=no#匿名ユーザーがダウンロードファイルを閲覧できる権限anon_upload_enable=YES #匿名ユーザーにファイルのアップロードを許可するかどうかanon_mkdir_write_enable=YES#匿名ユーザーにディレクトリを作成する権利を許可するかどうか
anon_other_write_Enable=YES#ファイルの名前変更、上書き、削除など、匿名ユーザーに他の書き込み権限を許可するかどうか.
anon_max_rate #匿名ユーザの最大転送レート(0は無制限)をバイトdirmessage_単位で制限enable=YES #ディレクトリの説明ファイルを表示するかどうか、デフォルトはYESですが、手動で.messageファイルを作成する必要があります.
local_enable=YES #ローカルユーザーのログインを許可するかどうか
local_umask=022 #ローカル・ユーザーがアップロードしたファイルのデフォルト権限マスク値を設定
local_root=/var/ftp #ローカルユーザのFPTルートディレクトリの設定(デフォルトはユーザのホストディレクトリ)
local_max_rate #ローカル・ユーザーの最大転送速度(0は無制限)をバイト単位で制限
chroot_local_user=yes #FPTローカルユーザをホストディレクトリに閉じ込めるかどうか
listen_port 21 #監原FTPサービスのポート番号の設定
write_enable=yes #ファイルのアップロード、削除など、任意の形式の書き込み権限を有効にするには、このオプションをオンにする必要があります.
download_enable=yes #ファイルのダウンロードを許可するかどうか(ブラウズ、アップロードのみのFTPサーバを確立する場合はnoに設定可能)xferlog_enable=YES #ftp転送プロセスを記録するかどうか、すなわちFTPログを有効にし、デフォルトは/var/log/xferlogファイルに記録する
xferlog_std_format=yes #標準のxferlogログフォーマットを有効にします.無効にすると、vsftpd独自のログフォーマットが使用されます.
connect_from_port_20=YES #ポート転送が20から来たと確信しているかどうか(ftp-data)
chown_upload=YES #アップロードファイルの所有者chownを変更するかどうかusername=username #所有者をそのユーザーに変更する
pasv_enable=yes #パッシブモード接続を許可
pasv_max_port=24600 #パッシブモード用サーバーの最大ポート番号の設定
pasv_min_port=24500 #パッシブモード用のサーバー最小ポート番号の設定
pam_service_name=vsftpd #ユーザー認証用のPAMファイルの場所を設定します(/etc/pam.dディレクトリの対応するファイル名)
userlist_enable=yes #user_を有効にするかどうかlistユーザーリストファイル
userlist_deny=yes #user_を禁止するかどうかListリストファイルのユーザーアカウント
max_clients=0 #最大何個のクライアントがFTPサーバーに接続できるか(0は無制限)
max_per_ip=0 #同じIPアドレスからのクライアントに対して、最大何個の同時接続が許可されますか(0は制限なし)
tcp_wrappers=yes #tcp_を有効にするかどうかwrappersアクセス制御
idle_session_timeout=600 #デフォルトの切断非アクティブセッションの時間data_を設定connection_timeout=120#データ転送タイムアウト時間を設定し、データ接続を2分間切断する
accept_timeout=60(秒)#クライアントを1分空けて切断
1.Vsftpdをインストールし、ユーザー認証アクセスを構成する
[root@ftp ~]# yum install vsftpd -y
[root@ftp ~]# mkdir /data
[root@ftp ~]# vi /etc/vsftpd/vsftpd.conf #
anonymous_enable=no #
local_root=/data #FTP
chroot_local_user=yes #
pasv_enable=YES #
pasv_min_port=6001 #
pasv_max_port=6100 #
[root@ftp ~]# service vsftpd start
[root@ftp ~]# useradd ftpadmin # FTP
[root@ftp ~]# passwd ftpadmin
[root@ftp ~]# chown ftpadmin:ftpadmin /data/ -R
#ファイアウォールの追加許可
[root@ftp ~]# iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
[root@ftp ~]# iptables -A INPUT -p tcp --dport 6001:6100 -j ACCEPT
2、Vsftpd仮想ユーザー構成
以下を参照してください.http://going.blog.51cto.com/7876557/1294765
3、Vsftpd+SSL暗号化伝送を実現
#証明書の生成(パーソナルキーと証明書を含む)
[root@ftp vsftpd]# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
Generating a 2048 bit RSA private key
...........+++
...........................................+++
writing new private key to 'vsftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:test
Organization Name (eg, company) [Default Company Ltd]:test
Organizational Unit Name (eg, section) []:test.com
Common Name (eg, your name or your server's hostname) []:
Email Address []:
[root@ftp vsftpd]# chmod 400 vsftpd.pem
#vsftpd構成SSLサポート
[root@ftp ~]# vi /etc/vsftpd/vsftpd.conf #
anonymous_enable=no #
local_root=/ftp #
chroot_local_user=YES #
ssl_enable=YES
ssl_sslv2=YES
ssl_sslv3=YES
ssl_tlsv1=YES
force_local_logins_ssl=YES # ssl
force_local_data_ssl=YES # ssl
force_anon_logins_ssl=YES # ssl
force_anon_data_ssl=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem #
[root@ftp ~]# service vsftpd restart
[root@ftp ~]# chkconfig vsftpd on
テスト:flashfxpソフトウェアを使用して、転送中にsslを使用して通信することをテストします.
三、DHCPサーバー
1、dhcpをインストールする
yum install -y dhcp
2、メインプロファイルの変更
cp/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf # , dhcpd.conf
vi/etc/dhcp/dhcpd.conf
ddns-update-style interim; # dhcp
ignore client-updates; #
shared-network test{ # ,
subnet 192.168.1.0 netmask 255.255.255.0{ #
option routers 192.168.1.1; #
option subnet-mask 255.255.255.0; #
option domain-name "test.com"; #DNS
option domain-name-servers 8.8.8.8; #DNS
range 192.168.1.200 192.168.1.202; #
default-lease-time3600; # ,
max-lease-time7200; # ,
:
#host print { #
#hardware ethernet 00:0C:29:7E:52:64; # MAC
#fixed-address 192.168.1.200; # IP
# }
}
}
3、dhcpを起動する
service dhcpd start
chkconfig dhcpd on
4、起動失敗の可能性
1>.内容は文法構造に合致せず、例えば、少数のセミコロン;
2>.宣言されたサブネットとサブネットマスクが一致しない;
3>.ホストIPアドレスと宣言されたサブネットは同じセグメントにありません.
4>.ホストにIPアドレスが設定されていません.
5>.プロファイルパスに問題が発生しました.例えばRHEL 6以下のバージョンでは、プロファイルは/etc/dhcpd.confに保存されていますが、
rhel 6以降は/etc/dhcp/dhcpd.confに保存されています.