カテゴリー別アーカイブ: CentOS

SoftEther VPNでEC2(Amazon Linux)に繋いでみた①(導入編)

あけましておめでとうございます。

 

なんか最近TwitterやfacebookでSoftEther VPNなるものがオープンソースになったとかで情報が頻繁に流れてくるのでサイトを見てみたら…

なんかこれめっちゃ使えるんじゃね?

ってなったので検証してみました。

 

公式サイトのチュートリアルにクラウドへの繋ぎ方が書いてあるんだけど、

Windowsだけしか書いてない。たしかにこの通りにやればとりあえずはできるのかもしれない。

でも、実際に使うとしたらLinux間での接続だと思うのでちょっと頑張ってみました。

まあ、身になりそうですし…

 

環境はこんな感じです。今後それぞれを「呼称」欄で呼びます。

ちょうど別件で使ってもういらないVPCがあったので使っちゃいましたが、

よく考えたらサブネットが複数あるVPCで、

VPN接続できるサブネットとできないサブネットで分けるイメージの方が良かったかなと後悔したりw

呼称 環境 CIDR OS
ローカル Virtualbox(vagrant) 10.0.2.0/24 CentOS6.4
EC2 AWS VPC 192.168.100.0/24 Amazon Linux 2013.09

EC2にはElastic IP(固定IP)を振っておきます。

ローカルから443(以外も使えます)ポートで接続できるようSecurity Groupを設定しておきます。

プラス接続元を固定IPで絞れれば接続認証(後述)をあまり意識しなくても場合によっては十分セキュアですね。

 

 

 

クラウド上にVPN接続を管理するVPN Serverを置く形が一番柔軟で運用しやすそうなので、その形で構成してみました。

 

基本的な流れは以下を参考に

http://ja.softether.org/4-docs/2-howto/2.VPN_for_Cloud/1.Join_a_Local_PC_into_Cloud

 

まず、EC2にVPN Serverをインストールします。

※ビルドにgccが必要です。

# yum -y install gcc

 # wget http://jp.softether-download.com/files/softether/v4.03-9408-rtm-2014.01.04-tree/Linux/SoftEther%20VPN%20Server/64bit%20-%20Intel%20x64%20or%20AMD64/softether-vpnserver-v4.03-9408-rtm-2014.01.04-linux-x64-64bit.tar.gz

 # tar -zxvf softether-vpnserver-v4.03-9408-rtm-2014.01.04-linux-x64-64bit.tar.gz

 # cd vpnserver

 # sh .install.sh

 

VPN Serverのインストール後の設定はローカルWindowsのGUIで行うことができます。

やっぱり設定、管理は視覚的に色々な情報が見えるのが望ましいので、GUIがあるのは嬉しいですね。

しかも、HTTPSを通したRPCで設定できるからリモートにGUIだけインストールできるっていうのが素晴らしいです。

ダウンロードはコチラから

SoftEther VPN Server Manager for Windowsを選択し、ダウンロードします。

そして、以下の通り管理ツールのみをインストール(その他はデフォルトのままでOK)します。

 

163bcbef4e8ba57983c3c12c6d0216dc

 

 

次に、VPN Clientをローカル、EC2それぞれにインストールしておきます。

# wget http://jp.softether-download.com/files/softether/v4.03-9408-rtm-2014.01.04-tree/Linux/SoftEther%20VPN%20Client/64bit%20-%20Intel%20x64%20or%20AMD64/softether-vpnclient-v4.03-9408-rtm-2014.01.04-linux-x64-64bit.tar.gz

# tar -zxvf softether-vpnclient-v4.03-9408-rtm-2014.01.04-linux-x64-64bit.tar.gz

 # cd vpnclient/

 # sh .install.sh

 

遅くなってしまった&長くなりそうなので二部構成にします。

次は「設定編」予定です。

 

設定編書きました。

 

 

 


Nginxでyumやwget用のフォワードプロキシ

WANに繋がっていない、LAN内のサーバのミドルウェア導入やバージョンアップを行うのに、

yumコマンドでリポジトリの参照ができなくて不便なことが多々あります。

必要なRPMだけもっていってインストールしようとしたら、依存関係でつまづいたり…

 

DBサーバなんかはフロントにWEBサーバがあって、

完全にWEBサーバ経由のLAN接続しかできなかったりするパターンが多いです。

 

最近、そのパターンでフロントのWEBサーバにNginxをインストールしていて、

「Nginxでプロキシ通せば直接ダウンロードできるんじゃない?」と思って設定してみました。

RedHat5系ならおそらく同じ設定でいけると思います。

 

まずは、プロキシとするサーバ上のNginxの設定から。

# vi /etc/nginx/conf.d/forward_proxy.conf

以下の内容の設定ファイルを作成します。

server {
    listen 8081;                                        #8080はアプリで使用していたのでなんとなく
    server_name プライベートIP;
    resolver DNSのIP;                                   #特に使えるものがなければ、Google Public DNS(8.8.8.8 8.8.4.4)という手もあります。
    location / {
        proxy_pass $scheme://$http_host$request_uri;
    }
}

設定反映のため再起動します。

# /etc/init.d/nginx restart

 

次に、LAN内のサーバのyumのプロキシを指定します。

# vi /etc/yum.conf

以下を追記します。

proxy=http://プロキシサーバのIP:8081

以上でyumの設定は完了です。

 

ついでに、wgetもproxy通せないかな~と思ってググったらやはりありました。

コチラのサイトを参考に、
ホームディレクトリ直下に「.wgetrc」を置くのではなく、全体に効く設定ファイルを変更しました。

# vi /etc/wgetrc

以下の2項目を変更します。

http_proxy = http://プロキシサーバのIP:8081
ftp_proxy = http://プロキシサーバのIP:8081

以上で、WANに繋がっていないLAN内のサーバからでも、

フロントにNginxが立っていれば、別途プロキシを立てなくても必要なファイルのダウンロードやyumコマンドによるリポジトリ参照ができるようになります。


MySQL5.6インストール

先日リリースされたMySQL5.6の導入方法のメモです。

 

環境はCentOS5.8(64bit)になります。

 

まず、RPMが用意されているので、落とします。

ココからダウンロード

 

とりあえず、MySQL Server本体と、接続するためのClientがあれば基本操作はこなせるので、

その二つを落とします。

  • MySQL Server本体
    Linux – Generic (glibc 2.5) (x86, 64-bit), RPM Package
    MySQL Server
    (MySQL-server-5.6.10-1.linux_glibc2.5.x86_64.rpm)
  • Client
    Linux – Generic (glibc 2.5) (x86, 64-bit), RPM Package
    Client Utilities
    (MySQL-client-5.6.10-1.linux_glibc2.5.x86_64.rpm)

 

落としたRPMをサーバまでもっていきます。

※サーバ上で直接落とす場合は、

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.10-1.linux_glibc2.5.x86_64.rpm/from/http://cdn.mysql.com/
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.10-1.linux_glibc2.5.x86_64.rpm/from/http://cdn.mysql.com/

そして、インストール・・・しようとすると、

「公開鍵がインポートされていないために信頼できる提供元かどうかわからない」旨の警告が出ます。

無視するコマンドオプションもあった気がしますが、

このページに取得方法が載っています。

上記ページに書いてある方法が面倒であれば、

書いてあるキーの部分をコピペしてキーファイルを作ってしまうという手もありますw

そして、公開鍵をインポートした上で、

 # rpm --import mysql_pubkey.asc
 # yum localinstall MySQL-server-5.6.10-1.linux_glibc2.5.x86_64.rpm
 # yum localinstall MySQL-client-5.6.10-1.linux_glibc2.5.x86_64.rpm

以上で、インストールは完了です。

 

 

インストール後、いざ接続してみようとすると接続できませんでした・・・

原因は、5.6はRPMで入れると初期パスワードがランダムで設定されるからでした。

こちらの記事のおかげですぐに解決しました。