FortiGate 50Eで闇ネットに接続する(手動セットアップ)
TODO
OpenWrtのセットアップはページを分離する
ネットワーク設定のところにスクショとかを貼る
他のルートノードのConnectToも追加する
上記の記事を参考に進める
詰まったところ
ipアドレスの設定
家のルータに繋ぐのはLAN1の方
firewall
wanからssh
イメージの取得
以下のページからFortiGate 50E の snapshot版をダウンロードする
initramfs と sysupgrade イメージの両方必要
initramfs イメージ
snapshot版を普通にダウンロードする
sysupgrade イメージ
インストールされるパッケージのカスタマイズ から luci を含めるようにする
TFTPサーバの起動
openwrt-mvebu-cortexa9-fortinet_fg-50e-initramfs-kernel.binをカレントディレクトリに置いたうえで、以下のコマンドを実行する
code:sh
docker run --rm -p 69:69/udp -v "$(pwd)"/openwrt-mvebu-cortexa9-fortinet_fg-50e-initramfs-kernel.bin:/tftpboot/image.out:ro jumanjiman/tftp-hpa
メモ
tftp-hpaはDebianプロジェクト推奨のTFTPサーバらしいので、割と安心して使える
シリアルコンソールへの接続
電源を切る
コンソールケーブルをCONSOLEポートに挿す
CISCOのコンソールケーブルと同じものが使える
以下のコマンドを実行する
code:sh
screen /dev/ttyUSB0
デバイス名はコンソールケーブルや環境によって違うことがある
電源をいれる
Please wait for OS to boot, or press any key to display configuration menu.. と出てきたらすかさずEnterキーを押す
ブートメニュー
code:txt
FortiGate-50E (17:37-01.31.2017)
Ver:05000016
Serial number: FGT50E3U17043203
CPU(00): 1600MHz
Total RAM: 2GB
Initializing boot device...
Initializing MAC... egiga1
Please wait for OS to boot, or press any key to display configuration menu..
C: Configure TFTP parameters. R: Review TFTP parameters. T: Initiate TFTP firmware transfer. B: Boot with backup firmware and set as default. Q: Quit menu and continue to boot. H: Display this list of options. Enter C,R,T,F,I,B,Q,or H:
Rを押すと現在のTFTPサーバの設定が確認できる
Review TFTP parameters
code:txt
Image download port: WAN1
DHCP status: Disabled
Local VLAN ID: <NULL>
Local IP address: 192.168.1.188
Local subnet mask: 255.255.255.0
Local gateway: 192.168.1.254
TFTP server IP address: 192.168.1.168
Firmware file name: image.out
Enter C,R,T,F,I,B,Q,or H:
Configure TFTP parameters
code:txt
P: Set firmware download port. S: Set local subnet mask. T: Set remote TFTP server IP address. F: Set firmware file name. E: Reset TFTP parameters to factory defaults. R: Review TFTP parameters. N: Diagnose networking(ping). H: Display this list of options. Enter P,D,I,S,G,V,T,F,E,R,N,Q,or H:
N を押すとpingなどがおこなえる
tincのインストール
code:sh
opkg update
opkg install tinc
tincのuci設定
uci set tinc.gsnet.Name='fg50e_XXXX' の部分は自分のノード名を設定する
code:sh
uci del tinc.NETNAME
uci del tinc.NODENAME
uci set tinc.gsnet=tinc-net
uci set tinc.gsnet.enabled='1'
uci set tinc.gsnet.generate_keys='1'
uci add_list tinc.gsnet.ConnectTo='gsngw01'
uci set tinc.gsnet.Mode='Switch'
uci set tinc.gsnet.Name='fg50e_XXXX'
uci set tinc.gsnet.PrivateKeyFile='/etc/tinc/gsnet/rsa_key.priv'
uci commit
設定が書けているか確認
余計な設定がはいっていないか確認する
code:txt
root@OpenWrt:~# cat /etc/config/tinc
config tinc-net 'gsnet'
option enabled '1'
option generate_keys '1'
list ConnectTo 'gsngw01'
option Mode 'Switch'
option Name 'fg50e_7f68'
option PrivateKeyFile '/etc/tinc/gsnet/rsa_key.priv'
ルートノード(gsngw01)の公開鍵を追加する
code:sh
mkdir -p /etc/tinc/gsnet/hosts
cat <<'EOF' > /etc/tinc/gsnet/hosts/gsngw01
# gsngw01
Address = 153.127.23.44
Port = 655
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAs//3ZYJ7+cWRptqA/I6gzpvLL8DEG20pJYSMx6xcPunfazBnKb3w
ctz5xwJqTMpYzUQwTs0aIVqF/Rf3+yAIs/UPA1ToX3q3Lq588wIeIJ9R2jr9LOpU
o7dgDrE3GDdhOutgbGHqxWzsXlYVfQ1OLQtZFkyAJU5teK++cWmqpL15liZ+JxrI
Gkh+NnUVR1DJMh1eEWg/sZMYzIFKZ71BBduhDPo1vYzL83iqwB8LoKDNehd/zzSK
mBcxFLb8Bf2ob6c13cyISeFhuWVQMvV0HLDdddHUgBZqhPj9qmUSlnQ+EUHeiVRf
2DkrYX2zMIQ+FP0WCT9BdjVA/ZKnX72dtwIDAQAB
-----END RSA PUBLIC KEY-----
EOF
ノードの鍵ペアの生成
code:sh
tinc -b -n gsnet generate-rsa-keys
ノード共有形式で鍵の書き出し
code:sh
printf '# %s\n\n' "$(uci get tinc.gsnet.Name)"; cat /etc/tinc/gsnet/rsa_key.pub
tincの起動
code:sh
/etc/init.d/tinc start
起動したかどうかを次のコマンドで確認する
code:sh
ps | grep tinc
ネットワークの設定
LuCIから以下を設定する
Network > Interfaces > Devices
ブリッジデバイス br-gsnet を追加する
Network→Interface→Devices→Add decice configuration...
bridge ports にtapデバイスを追加する
tapデバイスの名前はgsnetかtap0のはず
以下のコマンドで確認できる
code:sh
ip addr
Bring up empty bridge にチェックをいれておく
gsnet はtincが勝手に追加するtapデバイス
Save & Applyも忘れずに
インターフェース gsnet を追加する
Proticol を static にする
Device に br-gsnet を指定する
このノードの闇ネットアドレスを設定する
ネットマスク(255.0.0.0)も忘れずに
Firewallはwanを指定する
追加のネットワークの設定(闇ネットセグメントの物理ポートをはやす)
LuCIから以下を設定する
Fortigate 50E のデフォルト設定だと eth1 と eth2 がブリッジされているので、br-wanからeth2を解列する
eth1 でもいい、好きな方で
解列しなかったほうは引き続きWANポートとして機能する
br-wan から解列したeth1をbr-gsnetに並列する
これで、eth2(筐体の表記でWAN2)が闇ネットセグメントにつながった状態になる
つまり、WAN2にスイッチをつなぐと、いくらでも闇ネットホストを接続できる状態になる
最後にrebootして、自動で接続されることを確認する
code:sh
reboot