TL;DR
- いまさら感がありますが,OpenBlockS AX3(LAN2ポート版)を使って,L3ルータ(家庭内LANからインターネットへの出入り口となるマシン)を作るための,セットアップを行います
- 販売終了がアナウンスされてしまいました(2019年1月29日)
- セットアップ手順は,ユーザガイド(pdf)を踏襲します
- Linuxインストール後の作業手順は,他のLinuxマシンのセットアップでも利用できます
手順概要
以下の手順でセットアップを行います
- OpenBlockS(OBS)にSSDを接続します
- 初期化モードで起動します
- シリアルケーブルを接続してログインします
- OBSを初期化します
- 初期設定として,SSD(ストレージ併用モード)の使用と,ネットワーク接続を行います
- 初期セットアップ(ツールインストール,ユーザ作成など)
0. OpenBlockS概要
以下はLAN2ポート版のスペックです.4ポート版はメモリスロットが付いています.
- 2コアARMv7 1.33GHz
- 1GB RAM
- 1000BASE-T 2ポート
- 2.5インチストレージ接続用SATA3ポート
- Debian Linux 9
1. OpenBlocksにSSDを接続する
2. OpenBlockSを初期化モードで起動する
- INITボタンを押しながら電源を接続します
- 5秒程度立ったらボタンを離します
- 初期化状態で起動します
3. シリアルケーブルを接続してログイン
- USB-Serialケーブルを,OBSのCONSOLEポートとホストPCのUSBポートに接続します
- ホストPCのデバイスマネージャで,COMポートを確認します
- ホストPCでputtyを立ち上げます
- 以下の設定で「接続」すると,OBSのログインプロンプトが表示されます
- ユーザ
root
,パスワードroot
でログインできます
設定 | 値 |
---|---|
接続タイプ | Serial |
シリアルポート | COM3 |
スピード | 115200 |
4. OBSの初期化
RAMディスクとSSDを初期状態にする
- RAMディスク設定の初期化
- 以下のコマンドを実行します
- 確認のプロンプトが表示されるので「y」キーで承諾します
flashcfg -e
flashcfg -E
- SSDのラベルを削除して,新たに使えるようにします
e2label /dev/sda1 ""
- ここまでで,OBSが初期状態になります
-
reboot
コマンドで再起動すると,初期設定状態なります- ただし,まだSSDを使う状態になっていないので,この時点でツールのインストールなどをしても,再起動すると初期状態に戻ってしまいます
(必要なら) Debian8から9へのアップデート
- eth0にLANケーブルを指し,DHCPサーバが動作する適当なルータに接続します(IPを取得してネットワークに接続できるようにします)
- 以下のように,モデルに合わせたOSイメージを取得し,
flashcfg
コマンドで書き込みます -
reboot
コマンドで再起動すると,新しいOSイメージでOBSが立ち上がります
- 以下のように,モデルに合わせたOSイメージを取得し,
ifdown eth0
dhclient eth0
cd /root
# OBS-AX3 (LANポートが2つのモデル)
wget http://ftp.plathome.co.jp/pub/OBSAX3_2/stretch/4.4.120-0/uImage.initrd.obsax3
# OBS-AX3 (LANポートが4つのモデル)
wget http://ftp.plathome.co.jp/pub/OBSAX3_4/stretch/4.4.120-0/uImage.initrd.obsax3
flashcfg -f uImage.initrd.obsax3
Save firmware file to FlashROM.
Are you ok? [y|N] y
.....<snip>.....
done
reboot
5. 初期設定
SSDを使用する設定(ストレージ併用モード)
- 以下のように,
fdisk
コマンドでパーティション設定を行います
fdisk /dev/sda
Command (m for help): o (パーティションをすべて削除)
Command (m for help): n (パーティション作成)
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p (プライマリパーティションを選択)
Partition number (1-4, default 1): 1 (パーティション番号1)
First sector (2048-117231407, default 2048): (Enterキーでデフォルト設定)
Last sector, +sectors or +size{K,M,G,T,P} (2048-117231407, default 117231407):(Enterキーでデフォルト設定)
Created a new partition 1 of type 'Linux' and of size 55.9 GiB.
Command (m for help): w (パーティションを書き込み)
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
- パーティションのフォーマット
- 作成したパーティションをDEBIANラベルでext4フォーマットします
mke2fs -t ext4 -j -L DEBIAN /dev/sda1
- 以降,再起動するとSSDがマウントされた状態で起動します
- SSDにOSの状態が不揮発化される,通常のLinuxマシンのように使えるように使えるようになります
パスワードの変更
- パスワードが
root
だとまずいので,パスワードを変更します
passwd
# 設定したいパスワードを2回入力
ネットワークの設定
- 初期設定は以下のようになっています
eth0 inet addr:192.168.254.254 Bcast:192.168.254.255 Mask:255.255.255.0
eth1 inet addr:192.168.253.254 Bcast:192.168.253.255 Mask:255.255.255.0
- それを,例えば,以下のように変更します
eth0 DHCPで取得
eth1 192.168.100.1/24
- eth0にLANケーブルを指し,DHCPサーバが動作する適当なルータに接続しておきます
-
/etc/network/interfaces
を編集して,eth0/eth1それぞれのIPの取得方法をしています
-
vi /etc/network/interfaces
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.100.1
network 192.168.100.0
netmask 255.255.255.0
broadcast 192.168.100.255
- ネットワーク設定を読み込み直します
/etc/init.d/networking restart
- DHCPでeth0にIPが割り振られ,ネットワークに接続できることを確認します
5. 初期セットアップ
- 以降は通常のDebian系Linuxのセットアップと同様の手順です
- この記事では,以下の手順を紹介します
- 初期アップデート,aptitudeの利用,各種ツールのインストール
- ユーザの作成,sudo設定
- セキュリティ周りの設定
アップデート&ツールのインストール
- パッケージマネージャとして
aptitude
を使います -
less
,sudo
,zsh
をインストールします - localeの設定もこの時点でしてしまいます
apt-get update
apt-get install -y aptitude
aptitude update -y
aptitude install -y less sudo zsh rsync curl locales
# localeの設定
cp /etc/locale.gen /etc/locale.gen.orig
sed -i "s/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/" /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
ユーザの作成
- 例として,
myoshimi
ユーザを作成します-
users
グループに所属させることにします - ログインシェルを
zsh
に変更します - sudoersに登録します
-
useradd -m -g users myoshimi
passwd myoshimi
# ログインシェルを/bin/zshに変更
chsh myoshimi
# sudoに作成したユーザを追加
sh -c "echo \"myoshimi ALL=(ALL) ALL\" >> /etc/sudoers"
セキュリティ関連の設定
- (必要であれば)selinuxの無効化設定を行います
- sshdのルートログインを禁止します
# rootログイン禁止
sed -i "s/PermitRootLogin yes/PermitRootLogin no/" /etc/ssh/sshd_config
/etc/init.d/ssh restart
# selinuxの無効化
sed -ir "s/SELINUX=permissive/SELINUX=disabled/g" /etc/selinux/config
setenforce 0
稼働確認
-
ssh
コマンドで,OBSのIPアドレス(eth0/eth1のどちら側のネットワークから接続するかによって異なる)にログインできることを確認します - 以降は,通常のDebianマシンとして運用ができます