SoftLayerのゲートウェイをVyOSで操作する

2015年2月4日(水)
常田 秀明石原 康司

VyOSへのアップデート

次にVyOSへアップデートしてみたいと思います。先ほどの情報を元に接続をしてみます。

vyatta@vyos:~$ show system image【Enter】
The system currently has the following image(s) installed:

   1: Old-non-image-installation (default boot)

vyatta@vyos:~$ add system image http://ftp.tsukuba.wide.ad.jp/software/vyos/iso/release/1.1.0/vyos-1.1.0-amd64.iso【Enter】

Trying to fetch ISO file from http://ftp.tsukuba.wide.ad.jp/software/vyos/iso/release/1.1.0/vyos-1.1.0-amd64.iso
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  231M  100  231M    0     0  6410k      0  0:00:36  0:00:36 --:--:-- 9841k
ISO download succeeded.
Checking for digital signature file...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   836  100   836    0     0    881      0 --:--:-- --:--:-- --:--:--  3028
Found it.  Checking digital signature...
gpg: directory `/root/.gnupg' created
gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/root/.gnupg/pubring.gpg' created
gpg: Signature made Thu Oct  9 17:42:59 2014 CDT using RSA key ID A442E6E9
gpg: Can't check signature: public key not found
Signature check FAILED.
Do you want to continue anyway? (yes/no) [no] yes【Enter】
OK. Proceeding with installation anyway.
Checking MD5 checksums of files on the ISO image...OK.
Done!
What would you like to name this image? [1.1.0]:【Enter】
OK.  This image will be named: 1.1.0
Installing "1.1.0" image.
Copying new release files...
Would you like to save the current configuration
directory and config file? (Yes/No) [Yes]:【Enter】
Copying current configuration...
Would you like to save the SSH host keys from your
current configuration? (Yes/No) [Yes]:【Enter】
Copying SSH keys...
Setting up grub configuration...
Done.

vyatta@vyos:~$ show system image【Enter】
The system currently has the following image(s) installed:
   1: 1.1.0 (default boot)
   2: Old-non-image-installation

これでRebootすれば、無事にVyOSの利用が可能になります。再起動後、Show VerコマンドでVyOSになっていれば成功です。

Vyatta@vyos:~$ show ver【Enter】
Version:      VyOS 1.1.0
Description:  VyOS 1.1.0 (helium)
Copyright:    2014 VyOS maintainers and contributors
Built by:     maintainers@vyos.net
Built on:     Thu Oct  9 22:27:26 UTC 2014
Build ID:     1410092227-af6433f
System type:  x86 64-bit
Boot via:     image
Hypervisor:   Xen
Uptime:       22:16:35 up  1:08,  1 user,  load average: 0.00, 0.01, 0.02

さて、ここまでくればあとは存分にVyOSを利用することができます。

VyOSの活用

手軽にVyOSを利用する方法の1つとして、L2TPを利用したリモート接続を紹介します。

L2TP/IPsecは、WindowsやMacOSの標準機能で利用可能なので、手軽にVyOSとセキュアな通信を確立し、その背後のサーバーへアクセスすることができます。利用シーンとしては、SoftLayer上のサーバーメンテナンス目的でアクセスしたいケースや、移行時のデータ転送をセキュアに実施したい場合などに利用できます。

それでは設定方法を見ていきましょう。

VyOS上の設定

  1. コンフィグレーションモードに移行します。
  2. IPsecを確立するインターフェイスを定義します。
    vyatta@vyos# set vpn ipsec ipsec-interfaces interface eth1【Enter】
  3. NATトラバーサルを有効にします。
    vyatta@vyos# set vpn ipsec nat-traversal enable【Enter】
  4. L2TP/IPsecを許可するクライアント側のサブネットを定義します。
    vyatta@vyos# set vpn ipsec nat-networks allowed-network 0.0.0.0/0【Enter】
  5. L2TPを終端するアドレスを定義します(VyosのPublic側)。
    vyatta@vyos# set vpn l2tp remote-access outside-address 173.192.31.100【Enter】
  6. ネクストホップアドレスを定義します(Vyosから見たゲートウェイアドレス[FCR])。
    vyatta@vyos# set vpn l2tp remote-access outside-nexthop 173.192.31.97【Enter】
  7. L2TP接続した際のクライアントに割り当てるアドレスプールを定義します。
    vyatta@vyos# set vpn l2tp remote-access client-ip-pool start 192.168.100.1【Enter】
    vyatta@vyos# set vpn l2tp remote-access client-ip-pool stop 192.168.100.10【Enter】
  8. IPsecの認証方法を定義します(ここではPre-sharedを選択)。
    vyatta@vyos# set vpn l2tp remote-access ipsec-settings authentication mode pre-shared-secret【Enter】
  9. Pre-sharedキーを設定します。
    vyatta@vyos# set vpn l2tp remote-access ipsec-settings authentication pre-shared-secret VyosL2TPconnection【Enter】
  10. L2TP接続の認証方法を定義します。ここではVyosで認証を実施します。
    vyatta@vyos# set vpn l2tp remote-access authentication mode local【Enter】
  11. L2TP接続するユーザーのID、パスワードを定義します。
    vyatta@vyos# set vpn l2tp remote-access authentication local-users username User01 password P@ssw0rd【Enter】
    vyatta@vyos# set vpn l2tp remote-access authentication local-users username User02 password P@ssw0rd【Enter】
  12. 設定を保存します。
    vyatta@vyos# commit【Enter】
    vyatta@vyos# save【Enter】
    Saving configuration to '/config/config.boot'...
    Done
    vyatta@vyos#

VyOSのFirewallの設定

L2TP/IPsecを確立するために、Vyos自身への着信パケットに対し、L2TP/IPsecでのアクセスポートを許可する必要があります(VyosにてL2TP/IPsecの終端を実施しているため)。利用するポートとして、IPsec通信全般のポートと、IKEを利用するUDP500番ポート、NATトラバーサル用のUDP4500番ポートを許可する設定を実施します。設定方法は、下のリストのようになります。設定完了後、Firewallポリシーを該当インターフェイスへ適用することにより、Firewall機能が動作します。

VyosへUpdate後は、OUTSIDE-LOCALという名前のFirewallポリシーがデフォルトで作成され、かつパブリックインターフェイス(eth1)にデフォルトで適用されています。

vyatta@vyos# set firewall name OUTSIDE-LOCAL rule 40 action accept【Enter】
vyatta@vyos# set firewall name OUTSIDE-LOCAL rule 40 ipsec match-ipsec【Enter】
vyatta@vyos# set firewall name OUTSIDE-LOCAL rule 41 action accept【Enter】
vyatta@vyos# set firewall name OUTSIDE-LOCAL rule 41 protocol udp【Enter】
vyatta@vyos# set firewall name OUTSIDE-LOCAL rule 41 destination port 500【Enter】
vyatta@vyos# set firewall name OUTSIDE-LOCAL rule 42 action accept【Enter】
vyatta@vyos# set firewall name OUTSIDE-LOCAL rule 42 protocol udp【Enter】
vyatta@vyos# set firewall name OUTSIDE-LOCAL rule 42 destination port 4500【Enter】
vyatta@vyos# commit【Enter】
vyatta@vyos# save【Enter】

通信対象サーバーへのStaticRouteの追加

L2TP/IPsec接続でプールしたアドレスで、クライアントはサーバーへアクセスしてきますので、その戻りの経路をサーバーのルーティングテーブルに設定する必要があります。

クライアント側の設定

こちらについてはOSの設定を参照してください。

これらの作業によって、実際にVyOSを利用してVPN接続を試してみることができるようになりました。VyOSでは、VPN以外にもいろいろなことができます。ゲートウェイアプライアンスを利用することで、VyOSの機能を存分に利用してもらえるのではないかと思います。

Japan SoftLayer Summit 2015
Japan SoftLayer Summit 2015

東京データセンター開設!「IBM SoftLayer」日本初の技術カンファレンス

「Japan SoftLayer Summit 2015」は、Japan SoftLayer Summit 2015実行委員が主催する、「IBM SoftLayer」最大級の技術カンファレンスです。 SoftLayerに関わるコミュニティ、あるいは、企業や団体、それらに所属する個人が一堂に会し、情報発信や交流を行うことで、日本におけるSoftLayerのプレゼンスの向上、ならびに更なるエコシステムの活性化を目的とします。 また、SoftLayerに興味をもつ新しいユーザーに対しても、情報発信を行い、SoftLayerについて学ぶ事ができる場を提供します。

日本情報通信株式会社
日本情報通信株式会社

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています