目的
- DHCPサーバー、DNSサーバー、Webサーバーの構築を体験
- ファイアウォール設定でアクセス制御を理解する
環境概要
- VirtualBox上に複数の仮想マシン(VM)を用意
- VM2をDHCP/DNSサーバーとして設定
- VM3にWebサーバーを構築
- VM1をクライアントとして利用
1. DHCPサーバーの構築(VM2で実施)
1. isc-dhcp-serverをインストール
sudo dnf install -y dhcp-server
2. 設定ファイル /etc/dhcp/dhcpd.conf を編集
sudo vi /etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd.conf
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
option domain-name-servers 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;
}
3. /etc/sysconfig/dhcpdでインターフェース指定
sudo vi /etc/sysconfig/dhcpd
# 追記
DHCPDARGS="enp0s9" # VM2の内部ネットワーク側NIC を指定
4. サービスを起動・有効化
sudo systemctl enable --now dhcpd
sudo systemctl status dhcpd
5. VM1をDHCPクライアントに変更
sudo nmcli con mod enp0s8 ipv4.method auto
sudo nmcli con down enp0s8
sudo nmcli con up enp0s8
VM1で以下を確認:
ip a
2. DNSサーバーの構築(VM2で実施)
1. dnsmasqインストール
sudo dnf install -y dnsmasq
2. 設定ファイル編集
# 元の設定をバックアップ
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
sudo vi /etc/dnsmasq.conf
/etc/dnsmasq.conf
interface=enp0s9 # DHCP配布を行っている内部ネットワーク側NIC
server=8.8.8.8
address=/webserver.local/192.168.10.50
domain-needed
bogus-priv
3. 起動と有効化
sudo systemctl restart dnsmasq
sudo systemctl enable dnsmasq
4. ファイアウォール設定(必要に応じて)
sudo firewall-cmd --add-service=dns --permanent
sudo firewall-cmd --reload
VM1で以下を確認:
cat /etc/resolv.conf
/etc/resolv.conf
nameserver 192.168.10.1
nameserver 8.8.8.8
ping webserver.local
※ 192.168.10.50 のVMがまだないので,pingが飛ぶのを確認できればOK
3.VM3(192.168.10.50)にWebサーバーを構築
1. VirtualBoxでVM1を完全クローン
- Macアドレスのポリシーは「全てのネットワークアダプターでMacアドレスを生成」
- ネットワーク設定は 「内部ネットワーク」のみ
2. IPアドレスの固定設定(VM3で実施)
- VM3でネットワークインターフェース名を確認
ip a
- インターフェース名(例: enp0s8)をメモし、固定IPを設定
sudo nmcli con mod enp0s8 ipv4.addresses 192.168.10.50/24
sudo nmcli con mod enp0s8 ipv4.gateway 192.168.10.1 # VM2のIP(ルーター役)
sudo nmcli con mod enp0s8 ipv4.method manual
sudo nmcli con up enp0s8
- 設定が反映されているか確認
ip a | grep 192.168.10.50
3.Webサーバー(簡易版)のインストールと起動
- PythonのHTTPサーバーを利用(手軽)
cd /tmp
python3 -m http.server 80
※ python3 が無ければインストール:
sudo dnf install python3
4. VM1からWebアクセスの確認
curl http://webserver.local
5.ファイアウォールの設定(オプション)
- VM3でファイアウォール設定を確認
sudo firewall-cmd --list-all
- HTTPを許可(開放)
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
まとめ
VirtualBox上での仮想環境を活用し、
- DHCPでIPアドレスを自動割り当て
- DNSで名前解決
- Webサーバー構築とアクセス
- ファイアウォール設定によるセキュリティ管理
を体験しました。