私は2つのVirtualBoxマシンにDHCPを実装しようとしています。どちらもUbuntu 16.10(1つはクライアント、1つはサーバー)を実行しており、ホストはWindows 10です。
これを行うにはどうすればよいですか?
私は初心者なので、ステップバイステップのチュートリアルは大歓迎です。
まず、VMがインターネットに接続していることを確認する必要があります。各マシンでNATアダプターを有効にして(まだ有効になっていない場合)、コンピューターもインターネットに接続する必要があります。同じネットワークに座っているので、ホストオンリーネットワークを作成し、それぞれに新しいホストオンリーアダプターを追加して両方のマシンを追加します。
[file
]メニューの[VirtualBox]で[preferences
]を選択し、[VirtualBox設定]ウィンドウで[ネットワーク]を選択して、[ネットワークのみをホスト]を選択します。結局、+
記号をクリックして、新しいホストオンリーネットワークを追加します。
両方のUbuntu仮想マシンで、それぞれを右クリックし、settings
を選択して、ネットワークセクションに移動します。 Adapter 1
がアクティブで、Nat
に接続されていることを確認し、Adapter 2
をクリックして、Enable Network Adapter
を確認し、Attached to
でHost-Only adapter
を選択します。 [OK]をクリックして、これらの設定を保存します。
DHCPサーバーとしてdnsmasq
を使用します。これはかなり小さく、目的に十分であるため、実行するには以下を実行します。
Sudo apt-get install dnsmasq
次に、dnsmasq DHCP機能を有効にする必要があります。その前に、次のコマンドを実行してネットワークインターフェイスを確認します。
ifconfig -a
次のようなものを取得する必要があります。
enp0s3
は最初のアダプターです。Natインターフェースを覚えていますか?すでにIP(10.0.2.15)があり、このインターフェイスとは何の関係もありません。ものをインストールするために必要な場合にインターネットアクセスを取得するために作成しました。
enp0s8
は最初のセクションで作成したvboxnet0
ネットワークに接続されています。DHCPリクエストとそれらへの応答に対してこのインターフェイスリストを作成する必要があります。
dnsmas
のDHCPサーバー機能の有効化に戻り、次のコマンドを実行します。
Sudo nano /etc/dnsmasq.conf
dnsmasq
エディターでnano
構成ファイルを開きます。コメントを外して設定をこれらの行に追加する必要がある行がいくつかあります。
interface=enp0s8
bind-interfaces
dhcp-range=192.168.100.10,192.168.100.20,24h
これらをこの設定ファイルに貼り付けることもできます。interface
の場合、enp0s8
を使用する必要があります。
dhcp-range
は、192.168.100.10
から192.168.100.20
までのリクエストに割り当てたい範囲で、リース時間は24
時間です。
enp0s8
インターフェースにIPアドレスを与える必要があります。例えば:
Sudo ifconfig enp0s8 192.168.100.1
Sudo ifconfig enp0s8 up
interfaces
ファイルを編集し、このインターフェイスに静的IPを割り当てることもできます。
結局、dnsmasq
デーモンを開始する必要があります。
Sudo systemctl start dnsmasq.service
他のUbuntuマシンの電源を入れます。デフォルトでネットワークマネージャーがインストールされており、このネットワークへの接続が既に存在しているはずです。デフォルトの方法はDHCPを使用するため、何もする必要はありません。新しいネットワークを有効にするだけで、名前はWired Connection 2
になります。完了したら、インターフェースはIPを取得します。
ネットワーク情報を見ると、このインターフェイスにDHCPサーバーで設定した範囲のIPがあることがわかります。
Sudo dhclient enp0s3
を実行して、enp0s3インターフェイスのIPを取得することもできます。
最初のインストールdhcp server
Sudo apt install isc-dhcp-server
次に、[dhcp server
が機能するインターフェイスカードをオンにします]を選択します。
Sudo nano /etc/default/isc-dhcp-server
# Defaults for isc-dhcp-server initscript
# sourced by /etc/init.d/isc-dhcp-server
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
# This is a POSIX Shell fragment
#
# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPD_CONF=/etc/dhcp/dhcpd.conf
# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPD_PID=/var/run/dhcpd.pid
# Additional options to start dhcpd with.
# Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0"
この場合、nicはeth0
です
サブネットを構成する
Sudo nano /etc/dhcp/dhcpd.conf
これをすべてコメントしてください
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.xxx 192.168.0.xxx;
option routers 192.168.0.x;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option domain-name-servers xxx.xxx.xxx.xxx;
default-lease-time 86400;
max-lease-time 86400;
}
再起動サービス
Sudo service isc-dhcp-server restart
クライアントの場合、dhcp
を使用してcar configを選択するだけで十分です。
やってみて。