さくらVPSにIPv6アドレスをつけてPCからアクセスしてみる
さくらVPSのサーバにIPv6アドレスをつけて、自宅のPC(Mac)からアクセスしてみる。
まずは自宅ルータにて、普段はオフにしているIPv6設定をオンにする。
Macのターミルでifconfig en0して、IPv6のグローバルアドレスが付いていることを確認する。
IPv6 Ready なサイトにSafariからアクセスすると、確かにIPv6でのインターネット通信ができるようになっていることがわかる。
IPv6 test - IPv6/4 connectivity and speed test
https://ipv6.google.com/?gws_rd=ssl
次にさくらVPSにインストールしたUbuntuにIPv6アドレスを設定する。IPv6アドレスは、さくらのVPSコントロールパネルに表示されているものを使う。
IPv6アドレスの設定方法|さくらインターネット公式サポートサイト
設定したら一度再起動して、ifconfigやip -6 routeコマンドでIPv6のアドレスが付いていることと、ルーティング設定がされていることを確認する。
次に、MacのターミナルからIPv6アドレスを使ってサーバに接続してみる。
まずはping6で。次にsshで。
sshは特にIPv6であることを指定しなくても、パラメータとして渡すアドレスをIPv4からIPv6に変えるだけで繋がる。
サーバ側でnetstatをみて、Macから22番ポートにTCP6での接続があることが確認できる。
$ netstat -an | grep tcp6 tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 XXXX:XXXX:XXXX:XXXX:XXXX:22 XXXX:XXXX:XXXX:XXXX:XXXX ESTABLISHED
サーバ側にWebサーバを入れてアクセスしてみる。Webサーバはlighttpdを使うことにした。
apt-get install lighttpdでインストールした後、lighttpd.confを編集してIPv6でのリスンができるようにする。ついでに、アクセスログもとれるように変更しておく。
こんな感じ。
追加したのは、server.modulesのところのmode_accesslogと、accesslog.filenameとinclude_shellのipv6の項目のコメントアウトを削除した3点。
# cat /etc/lighttpd/lighttpd.conf server.modules = ( "mod_access", "mod_alias", "mod_compress", "mod_redirect", # "mod_rewrite", "mod_accesslog" ) server.document-root = "/var/www" server.upload-dirs = ( "/var/cache/lighttpd/uploads" ) server.errorlog = "/var/log/lighttpd/error.log" server.pid-file = "/var/run/lighttpd.pid" server.username = "www-data" server.groupname = "www-data" server.port = 80 accesslog.filename = "/var/log/lighttpd/access.log" index-file.names = ( "index.php", "index.html", "index.lighttpd.html" ) url.access-deny = ( "~", ".inc" ) static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) compress.cache-dir = "/var/cache/lighttpd/compress/" compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" ) # default listening port for IPv6 falls back to the IPv4 port ## Use ipv6 if available include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port include_shell "/usr/share/lighttpd/create-mime.assign.pl" include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
今度はサーバからMacにping6を打ってみる。ルータでフィルタされているようで届かない。
ルータの設定を変更して、サーバのIPv6アドレスからの通信を許可してみると、届くようになった。