Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EdgeOS(VyOS)の基本(入門編)

akira345
January 12, 2016

 EdgeOS(VyOS)の基本(入門編)

EdgeRouterLITEでOpenVPN+LDAP連携してみました。

akira345

January 12, 2016
Tweet

More Decks by akira345

Other Decks in Technology

Transcript

  1. よく使うコマンドを列挙 以降はConfigurationModeでの説明になります。 • 設定を確認する。 show <コマンド> 変更箇所には+-の表示が出る。 • 設定をする。 set

    <コマンド> 例:set interface ethernet eth1 address 192.168.0.1/24 • 設定を削除する。 delete <コマンド> 例:delete interface ethernet eth1 address 102.168.0.1/24
  2. ちょっとしたTips 長いコマンドを省略したい 同じレベル(設定対象)の場合、省略できます。 * VBでいうUGINGみたいなもの 例: [edit] vagrant@vyos# set interfaces

    ethernet eth0 address 192.168.0.1/24 [edit] vagrant@vyos# set interfaces ethernet eth0 speed 1000 とかだと、設定対象が同じ eth0なので、以下のようにすることで省略できます。 [edit] vagrant@vyos# edit interfaces ethernet eth0 [edit interfaces ethernet eth0]  <---ここが変わる。以降は interface ethernet eth0が省略された状態からスタート。 vagrant@vyos# set <TAB> を打ってみると、 Possible completions: + address IP address bond-group Assign interface to bonding group ↑ set interface ethernet eth0 からのコマンドたちになっている。 この状態から抜ける場合は exit
  3. 機材が妙に古いのは気にしないでください(汗 • 自宅にある勉強用機材で小型で持ち出せるものを選択しただけです。 • IX2005やSSG5は重要ではなく、あくまで一般的なブロードバンド環境を再現してい るだけです。 • 左のノートPCはFWやNAT配下で、直接インターネットに繋がっていないし、 EdgeRouterのLAN側にあるサーバに接続が出来ない設定がしてあります。 •

    ようは普通のNAT環境ですね。この状態でインターネットは普通に接続できる状態 にしてあります。 • この状態からVPNを張って、EdgeRouterのLAN側にあるサーバに接続できる設定 をEdgeRouterにしていきます。 • EdgeRouter以外のサーバ、ルータは設定済み前提です。
  4. OpenVPNで必要な証明書の作成 cd /usr/share/doc/openvpn/examples/easy-rsa/2.0 . ./vars ./clean-all ./build-ca Country NameはJPを応答 State

    or Province NameにはHiroshimaを応答 Locality NameにはHiroshimaを応答 Organization Nameにはopenvpn-gwを応答 Organizational Unit Nameには空行を応答 Common Nameにはvpn-gwを応答 Nameには空行を応答 EmailAddressは空行を応答
  5. OpenVPNで必要な証明書の作成 ./build-key-server vpn Country NameはJPを応答 State or Province NameにはHiroshimaを応答 Locality

    NameにはHiroshimaを応答 Organization Nameにはopenvpn-gwを応答 Organizational Unit Nameには空行を応答 Common Nameにはvpn-gwを応答 Nameには空行を応答 EmailAddressは空行を応答 A challenge passwordは空行を応答 An optional company nameは空行を応答 Sign the certificate?にはyを応答 1 out of 1 certificate requests certified, commit?にはyを応答
  6. DHパラメタの生成 ./build-dh *注意*:結構時間がかかります。 これで必要なファイルがそろいました。 作成したファイルを指定した場所にコピーします。 cd keys cp ca.crt dh1024.pem

    vpn.crt vpn.key /config/auth/ また、ここで作成したca.crtファイルはクライアントで必要ですので、 ファイルに保存しておきます。 いったんEdgeOS側に戻ります。 exit
  7. リポジトリの登録 configure set system package repository wheezy components 'main contrib

    non-free' set system package repository wheezy distribution wheezy set system package repository wheezy url http://http.us.debian.org/debian set system package repository wheezy-security components main set system package repository wheezy-security distribution wheezy/updates set system package repository wheezy-security url http://security.debian.org commit save *参考*:https://goo.gl/ztrvUw
  8. openvpn-auth-ldapの設定 vi /config/auth/ldap.conf <LDAP> URL ldap://192.168.0.10 ←-ADサーバのIP BindDN cn=ldap,ou=example,dc=example,dc=local  <---ADの構成によって異なる。cn=はLDAPバインド用ユーザ名 Password

    <LDAPバインドユーザのPW> Timeout 15 TLSEnable no FollowReferrals yes </LDAP> <Authorization> BaseDN "ou=example,dc=example,dc=local" <---上記同様ADの構成によって異なる。 SearchFilter "(&(sAMAccountName=%u))" ←--ADの場合、ユーザ認証で使用するプロパティがsAMAccountNameになる。 RequireGroup false </Authorization>
  9. OpenVPNの設定 EdgeOSでOpenVPNの設定を行います。 edit interfaces openvpn vtun0 set local-port '1194' set

    mode 'server' set openvpn-option '--push route 192.168.0.0 255.255.255.0' #0.0/24はOpenVPN にするルーティング追加 set openvpn-option '--push dhcp-option DNS 192.168.0.1' #OpenVPNがクライアント に配信するDNSサーバの設定 set openvpn-option '--comp-lzo' #LZO圧縮を有効化 set openvpn-option '--client-to-client' #クライアント同士の通信を許可
  10. OpenVPNの設定 set openvpn-option '--push redirect-gateway def1' #すべての通信をOpenVPN経由 にする。 set openvpn-option

    '--script-security 2' #外部スクリプトのセキュリティレベル設定らし い set openvpn-option '--client-cert-not-required' #接続に証明書を使用しない set openvpn-option '--username-as-common-name' #ユーザ名を使用する set openvpn-option '--tmp-dir /dev/shm' #認証時使用する一時領域設定 set openvpn-option "--plugin /usr/lib/openvpn/openvpn-auth-ldap.so /config/auth/ldap.conf" #プラグインopenvpn-atuh-ldapの使用と設定ファイル指定 set openvpn-option '--log-append /var/log/openvpn.log' #ログの出力先設定
  11. OpenVPNの設定 set server subnet '192.168.20.0/24' #クライアントへ配信するVPNのネットワークアド レス set tls ca-cert-file

    '/config/auth/ca.crt' #認証局の証明書 set tls cert-file '/config/auth/vpn.crt' #サーバの秘密鍵 set tls dh-file '/config/auth/dh1024.pem' #DHパラメタ set tls key-file '/config/auth/vpn.key' #サーバの証明書 exit commit save