IoT基盤開発部デバイス技術課
⼤⽯ 恭弘
名前
⼤⽯ 恭弘(おおいし やすひろ)
所属
IoT基盤開発部デバイス技術課
2013年度 IIJ⼊社
SEILシリーズの開発に従事
仮想環境向けのソフトウェアルータ
2011/04 1st リリース
SEIL/Xシリーズとほぼ同等の機能を保持
IPsec, L2TPv3, L2TP/IPsec, Firewall, MACフィルタ…
提供形式 サポート状況
VMware形式 (OVF版を同梱) VMware ESXi 5.0
VMware ESXi 5.5
VMware ESXi 6.0
Hyper-V形式 Windows Server 2012 R2 Hyper-V
Windows Server 2008 R2 Hyper-V
Microsoft Hyper-V Server 2008 R2
KVM形式 CentOS 6.3などのOSで確認
ディスクイメージ形式 【実験的提供】
Vagrant box形式 【実験的提供】 Virtualbox⽤のみ
提供形式 サポート状況
VMware形式 (OVF版を同梱) VMware ESXi 5.0
VMware ESXi 5.5
VMware ESXi 6.0
Hyper-V形式 Windows Server 2012 R2 Hyper-V
Windows Server 2008 R2 Hyper-V
Microsoft Hyper-V Server 2008 R2
KVM形式 CentOS 6.3などのOSで確認
ディスクイメージ形式 【実験的提供】
Vagrant box形式 【実験的提供】 Virtualbox⽤のみ
SEIL/x86⽤ vagrant プラグイン
ライセンスキーの⾃動⼊⼒
専⽤プロバイダによるコンフィグ反映
導⼊
https://github.com/iij/vagrant-seil
$ vagrant plugin install vagrant-seil
⾃宅の余ったPCをルータにする
ちょっとまってね
Cient
(CentOS7)
⾃宅やクラウド環境へ接続する
環境
OS : OSX El Captian 10.11.6
virtual-box : 5.2.8 r121009 (Qt5.6.3)
vagrant : 2.0.2
vagrant-seil : 1.0.0
seilx86-box : 5.92
Vagrant.configure("2") do |config|
config.vm.box = "seilx86-592"
config.vm.network "private_network",:auto_config => false, virtualbox__intnet:
"technightnw"
# config parameter
server_address = <SERVER IPaddress>
presharedkey = "SecretKey"
userid = "technight"
password = "PASSWORD"
config.vm.provision :seil do |seil|
seil.starter_key = File.read("starterkey.txt")
seil.function_key = File.read("functionkey.txt")
seil.config = <<-EOM
hostname technight01
~ snip ~
interface lan1 add 192.168.0.1/24
EOM
end
end
Vagrant.configure("2") do |config|
config.vm.box = "seilx86-592"
config.vm.network "private_network",:auto_config => false, virtualbox__intnet:
"technightnw"
# config parameter
server_address = <SERVER IPaddress>
presharedkey = "SecretKey"
userid = "technight"
password = "PASSWORD"
config.vm.provision :seil do |seil|
seil.starter_key = File.read("starterkey.txt")
seil.function_key = File.read("functionkey.txt")
seil.config = <<-EOM
hostname technight01
~ snip ~
interface lan1 add 192.168.0.1/24
EOM
end
end
ネットワークの追加
• LAN0はSSH⽤に作成されるため、LAN1以降のネットワークを定義
Vagrant.configure("2") do |config|
config.vm.box = "seilx86-592"
config.vm.network "private_network",:auto_config => false, virtualbox__intnet:
"technightnw"
# config parameter
server_address = <SERVER IPaddress>
presharedkey = "SecretKey"
userid = "technight"
password = "PASSWORD"
config.vm.provision :seil do |seil|
seil.starter_key = File.read("starterkey.txt")
seil.function_key = File.read("functionkey.txt")
seil.config = <<-EOM
hostname technight01
~ snip ~
interface lan1 add 192.168.0.1/24
EOM
end
end
ライセンスキー設定
Vagrant.configure("2") do |config|
config.vm.box = "seilx86-592"
config.vm.network "private_network",:auto_config => false, virtualbox__intnet:
"technightnw"
# config parameter
server_address = <SERVER IPaddress>
presharedkey = "SecretKey"
userid = "technight"
password = "PASSWORD"
config.vm.provision :seil do |seil|
seil.starter_key = File.read("starterkey.txt")
seil.function_key = File.read("functionkey.txt")
seil.config = <<-EOM
hostname technight01
~ snip ~
interface lan1 add 192.168.0.1/24
EOM
end
end
コンフィグ設定
• lan0のdhcpとsshdを除いた設定
• Rubyの⽂法で変数定義
SEIL/x86のサポート状況
ESXi 6.0 でも動くよ
vagrant-seilの紹介
帰ったら “vagrant plugin install vagrant-seil”
みなさまが快適なSEILライフを過ごされるこ
と願っております
ご清聴ありがとうございます
Vagrant.configure("2") do |config|
config.vm.box = "seilx86-592"
config.vm.network "private_network",:auto_config => false, virtualbox__intnet: "technightnw"
# config parameter
server_address = <SERVER IPaddress>
presharedkey = "SecretKey"
userid = "technight"
password = "PASSWORD"
config.vm.provision :seil do |seil|
seil.starter_key = File.read("starterkey.txt")
seil.function_key = File.read("functionkey.txt")
seil.config = <<-EOM
hostname technight01
dialup-network l2tp-dn0 connect-to #{server_address} ipsec-preshared-key #{presharedkey}
ppp add DUN ipcp enable keepalive 30 ipcp-address on authentication-method mschapv2 identifier #{userid} passphrase
#{password}
interface ppp0 over l2tp-dn0
interface ppp0 ppp-configuration DUN
route add #{server_address}/32 dhcp
route add 192.168.100.0/24 ppp0
nat napt add private 192.168.0.0-192.168.0.255 interface ppp0
interface lan1 add 192.168.0.1/24
EOM
end
end
必要最低限の設定です
DHCPのアドレス配布やパケットフィルタの設定を適宜追加してください
Vagrant.configure("2") do |config|
config.vm.box = "seilx86-592"
config.vm.network :public_network, :auto_config => false, bridge: “<WAN側 interface名>”
config.vm.network :public_network, :auto_config => false, bridge: ”<LAN側 interface名>”
# config parameter
userid = “<PPPoE Account>”
password = ”<PPPoE Password>”
config.vm.provision :seil do |seil|
seil.starter_key = File.read("starterkey.txt")
seil.function_key = File.read("functionkey.txt")
seil.config = <<-EOM
hostname technight01
ppp add PPP1 keepalive 30 ipcp enable ipv6cp disable ipcp-address on ipcp-dns on authentication-method auto identifier
#{userid} passphrase #{password} tcp-mss auto
interface lan2 add 192.168.0.1/24
interface pppoe0 over lan1
interface pppoe0 ppp-configuration PPP1
interface pppoe0 unnumbered on lan2
route add default pppoe0
nat napt add private 192.168.0.0-192.168.0.255 interface pppoe0
EOM
end
end
こちらも必要最低限の設定です
DHCPのアドレス配布やパケットフィルタの設定を適宜追加してください

余ったPCをルータに変える、ソフトウェアルータ「SEIL/x86」

  • 1.
  • 2.
  • 3.
  • 4.
    提供形式 サポート状況 VMware形式 (OVF版を同梱)VMware ESXi 5.0 VMware ESXi 5.5 VMware ESXi 6.0 Hyper-V形式 Windows Server 2012 R2 Hyper-V Windows Server 2008 R2 Hyper-V Microsoft Hyper-V Server 2008 R2 KVM形式 CentOS 6.3などのOSで確認 ディスクイメージ形式 【実験的提供】 Vagrant box形式 【実験的提供】 Virtualbox⽤のみ
  • 5.
    提供形式 サポート状況 VMware形式 (OVF版を同梱)VMware ESXi 5.0 VMware ESXi 5.5 VMware ESXi 6.0 Hyper-V形式 Windows Server 2012 R2 Hyper-V Windows Server 2008 R2 Hyper-V Microsoft Hyper-V Server 2008 R2 KVM形式 CentOS 6.3などのOSで確認 ディスクイメージ形式 【実験的提供】 Vagrant box形式 【実験的提供】 Virtualbox⽤のみ
  • 6.
  • 7.
  • 8.
  • 9.
    Cient (CentOS7) ⾃宅やクラウド環境へ接続する 環境 OS : OSXEl Captian 10.11.6 virtual-box : 5.2.8 r121009 (Qt5.6.3) vagrant : 2.0.2 vagrant-seil : 1.0.0 seilx86-box : 5.92
  • 10.
    Vagrant.configure("2") do |config| config.vm.box= "seilx86-592" config.vm.network "private_network",:auto_config => false, virtualbox__intnet: "technightnw" # config parameter server_address = <SERVER IPaddress> presharedkey = "SecretKey" userid = "technight" password = "PASSWORD" config.vm.provision :seil do |seil| seil.starter_key = File.read("starterkey.txt") seil.function_key = File.read("functionkey.txt") seil.config = <<-EOM hostname technight01 ~ snip ~ interface lan1 add 192.168.0.1/24 EOM end end
  • 11.
    Vagrant.configure("2") do |config| config.vm.box= "seilx86-592" config.vm.network "private_network",:auto_config => false, virtualbox__intnet: "technightnw" # config parameter server_address = <SERVER IPaddress> presharedkey = "SecretKey" userid = "technight" password = "PASSWORD" config.vm.provision :seil do |seil| seil.starter_key = File.read("starterkey.txt") seil.function_key = File.read("functionkey.txt") seil.config = <<-EOM hostname technight01 ~ snip ~ interface lan1 add 192.168.0.1/24 EOM end end ネットワークの追加 • LAN0はSSH⽤に作成されるため、LAN1以降のネットワークを定義
  • 12.
    Vagrant.configure("2") do |config| config.vm.box= "seilx86-592" config.vm.network "private_network",:auto_config => false, virtualbox__intnet: "technightnw" # config parameter server_address = <SERVER IPaddress> presharedkey = "SecretKey" userid = "technight" password = "PASSWORD" config.vm.provision :seil do |seil| seil.starter_key = File.read("starterkey.txt") seil.function_key = File.read("functionkey.txt") seil.config = <<-EOM hostname technight01 ~ snip ~ interface lan1 add 192.168.0.1/24 EOM end end ライセンスキー設定
  • 13.
    Vagrant.configure("2") do |config| config.vm.box= "seilx86-592" config.vm.network "private_network",:auto_config => false, virtualbox__intnet: "technightnw" # config parameter server_address = <SERVER IPaddress> presharedkey = "SecretKey" userid = "technight" password = "PASSWORD" config.vm.provision :seil do |seil| seil.starter_key = File.read("starterkey.txt") seil.function_key = File.read("functionkey.txt") seil.config = <<-EOM hostname technight01 ~ snip ~ interface lan1 add 192.168.0.1/24 EOM end end コンフィグ設定 • lan0のdhcpとsshdを除いた設定 • Rubyの⽂法で変数定義
  • 14.
    SEIL/x86のサポート状況 ESXi 6.0 でも動くよ vagrant-seilの紹介 帰ったら“vagrant plugin install vagrant-seil” みなさまが快適なSEILライフを過ごされるこ と願っております
  • 15.
  • 16.
    Vagrant.configure("2") do |config| config.vm.box= "seilx86-592" config.vm.network "private_network",:auto_config => false, virtualbox__intnet: "technightnw" # config parameter server_address = <SERVER IPaddress> presharedkey = "SecretKey" userid = "technight" password = "PASSWORD" config.vm.provision :seil do |seil| seil.starter_key = File.read("starterkey.txt") seil.function_key = File.read("functionkey.txt") seil.config = <<-EOM hostname technight01 dialup-network l2tp-dn0 connect-to #{server_address} ipsec-preshared-key #{presharedkey} ppp add DUN ipcp enable keepalive 30 ipcp-address on authentication-method mschapv2 identifier #{userid} passphrase #{password} interface ppp0 over l2tp-dn0 interface ppp0 ppp-configuration DUN route add #{server_address}/32 dhcp route add 192.168.100.0/24 ppp0 nat napt add private 192.168.0.0-192.168.0.255 interface ppp0 interface lan1 add 192.168.0.1/24 EOM end end 必要最低限の設定です DHCPのアドレス配布やパケットフィルタの設定を適宜追加してください
  • 17.
    Vagrant.configure("2") do |config| config.vm.box= "seilx86-592" config.vm.network :public_network, :auto_config => false, bridge: “<WAN側 interface名>” config.vm.network :public_network, :auto_config => false, bridge: ”<LAN側 interface名>” # config parameter userid = “<PPPoE Account>” password = ”<PPPoE Password>” config.vm.provision :seil do |seil| seil.starter_key = File.read("starterkey.txt") seil.function_key = File.read("functionkey.txt") seil.config = <<-EOM hostname technight01 ppp add PPP1 keepalive 30 ipcp enable ipv6cp disable ipcp-address on ipcp-dns on authentication-method auto identifier #{userid} passphrase #{password} tcp-mss auto interface lan2 add 192.168.0.1/24 interface pppoe0 over lan1 interface pppoe0 ppp-configuration PPP1 interface pppoe0 unnumbered on lan2 route add default pppoe0 nat napt add private 192.168.0.0-192.168.0.255 interface pppoe0 EOM end end こちらも必要最低限の設定です DHCPのアドレス配布やパケットフィルタの設定を適宜追加してください