0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】VirtualBoxを使ってDHCPサーバー、DNSサーバーを構築してみた

Posted at

目的

  • 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サーバー構築とアクセス
  • ファイアウォール設定によるセキュリティ管理

を体験しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?