virtualbox のゲスト Debian で nat ネットワークがつながらなかった件

掲題の通り、virtualbox で nat に設定したネットワークアダプタを用意してインストールすると、再起動後に外部ネットワークに接続できない状態になっていたので、開通させるまでの手順をメモ。

結論から言うと以下の 4手順で完了。

  1. ifconfig eth0 10.0.2.15 netmask 255.255.255.0
  2. route add default gw 10.0.2.2
  3. apt-get install ifupdown
  4. /etc/network/interfaces を編集
    • iface eth0 inet dhcp をコメントアウト
    • iface eth0 inet static
    • address 10.0.2.15
    • netmask 255.255.255.0
    • up route add default gw 10.0.2.2
    • down route del default gw 10.0.2.2

ここに行き着くまでに /etc/default/network をいじったり、何度も /etc/network/interfaces を書き直したり、手動で ip コマンドを叩きまくったりと大変だった…
特に /etc/network/interfaces を有効にするには ifupdown パッケージが入ってないとダメだと分かるまでに、だいぶかかってしまった。

debian の preseed.cfg で躓いた所

昨日に引き続き仮想マシン関連で、インストールを自動化しようと Debian の preseed.cfg をいじった記録。

一番大きな問題は apt のプロキシ設定で、ホスト名だけかと思ったらフル URL を入れる必要があったという話。
具体的には「d-i mirror/http/proxy string http://host:port/」と入れなきゃダメ。(port は apt-cacher-ng なら 3142)

あとはまあ、以下を変更するくらい。

  • d-i debian-installer/locale string ja_JP.UTF-8
  • d-i mirror/http/hostname string ftp.jp.debian.org
  • d-i time/zone string Asia/Tokyo
  • d-i clock-setup/ntp-server string jp.pool.ntp.org
  • d-i base-installer/kernel/image string linux-image-amd64
  • tasksel tasksel/first multiselect standard
  • d-i pkgsel/include string openssh-server

気分と趣味によっては以下も。

  • d-i netcfg/choose_interface select eth0
  • d-i netcfg/get_hostname string preseed-test
  • d-i netcfg/get_domain string vagrant.com
  • d-i apt-setup/non-free boolean true
  • d-i apt-setup/contrib boolean true

それから、「d-i keyboard-configuration/xkb-keymap select us」になっていても再起動後のキーボード設定は日本語になっており、なぜか「loadkeys us」も効かないようなので /etc/default/keyboard で「XKB_LAYOUT=”en”」にして再起動すると直る模様。ちなみに PuTTY とかで SSH 接続した場合は、設定してなくても問題無く英語キーボードで使える。