VirtualBox にインストールした CentOS に、デフォルトのネットワーク設定の NAT のまま接続するのに少し苦労したので、書いときます。
特に CentOS7 インストール直後で eth0 のIP自動取得が無効になっていたので、それで繋がらなかった。
バックグランドで動いているデーモン(ファイアウォール)を止める
CentOS7 の場合
$ systemctl stop firewalld
$ systemctl disable firewalld
CentOS6 の場合
chkconfig iptables off
chkconfig ip6tables off
service iptables stop
service ip6tables stop
SELinux を無効にする
SELINUX=disabled
SELINUX を disabled
に書き換えて、ゲストOSを再起動する
ipv6 を無効にする
CentOS7 の場合
以下のファイルを作成し、以下のように記述
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
$ sysctl -p /etc/sysctl.d/disable_ipv6.conf
CentOS6 の場合
NETWORKING_IPV6=no
以下のファイルを作成し、以下のように記述
options ipv6 disable=1
ip6tables は、最初で無効にしているので、 reboot する
eth0 に IP アドレスを自動で割り当てられるようにする
CentOS7 の場合
nmcli device status
で eth0 のデバイス名を確認しておく
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet disconnected --
DEVICE の 項目の enp0s3
は、各自の環境で異なる可能性があるので、
nmcli con mod enp0s3 connection.autoconnect "yes"
systemctl restart NetworkManager
systemctl restart network
CentOS6 の場合
TODO
ホストOS側でポートフォワーディングの設定をする
ゲストOSが起動していたら shutdown -h now
する
VirtualBox のゲストOSの設定 > ネットワーク > 高度 > ポートフォワーディングから、"+"のアイコンをクリックして、
下記画面のように
名前に | ssh(適当で良い) |
---|---|
ホストポート | 10022 |
ゲストポート | 22 |
上記を設定したらゲストOSを起動する |
ローカルIP に SSH 接続する
ssh -p 10022 root@127.0.0.1
で ssh 接続できる
root
の箇所は、適宜作成したユーザを指定しても構わない
useradd で作成したユーザは、 passwd ユーザ名
でログインパスワードを設定しておく