2012年9月17日月曜日

自宅のマシンに外部からアクセスする

世の中ではLinuxといえばサーバーなのでネットワーク系の記事。
自宅のマシンに外部からアクセスするにはどうすればいいかについて書きたい。
今自宅のマシンはyahoo BBで
「NTTの装置」ー「YAHOO BBのルータ」ー「PC」という接続です。
マシンのIPをifconfigでしらべると
 eth0      Link encap:イーサネット  ハードウェアアドレス 00:1c:c4:2d:3d:34 
          inetアドレス:192.168.3.2  ブロードキャスト:192.168.3.255  マスク:255.255.255.0
          inet6アドレス: 2001:c90:8242:25df:8822:bac6:4b56:b9d1/64 範囲:グローバル
          inet6アドレス: 2001:c90:8242:25df:24f9:b444:9767:2ef3/64 範囲:グローバル
          inet6アドレス: 2001:c90:8242:25df:21c:c4ff:fe2d:3d34/64 範囲:グローバル
          inet6アドレス: fe80::21c:c4ff:fe2d:3d34/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:1448780 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:1073784 エラー:0 損失:0 オーバラン:0 キャリア:0
          衝突(Collisions):0 TXキュー長:1000
          RXバイト:1509515899 (1.5 GB)  TXバイト:141055699 (141.0 MB)
          割り込み:17
で192.168..ではじまるからグローバルIPでないことがわかる
この場合ネットーワークを遡ってどこでグローバルIPがついているか?とその装置をいじれるか?
がカギなのだが、私の場合ルーターがそれに当たる。
これの簡単な調べ方はたとえば
確認君(http://www.ugtop.com/spill.shtml)
で自機のグローバルIPを調べてそのIPを実際にブラウザで開くとルーター設定が開くので
そこからグローバルIPがルータのIPと分かる。

分かったら次にルーターの機能をもちいてPCを外部アクセス可能にする。
これについてはアドレス変換をもちいるべきだろうが、うざいので
ルータのDMZで自分のPCのアドレスを指定した。(セキュリテイ的には最悪)

ここまででとりあえず確認君のIPで自機に辿りつけますが、
いちいちIPを書きとめるのが面倒なので次に無料ダイナミックDNS(DDNS)サービスで名前をつけました。
使ったのはこれ http://ieserver.net/
これの便利なところは再起動するたびに自動的に登録しなおすスクリプトがあるところ
http://ieserver.net/tools.html

これでいちいちIPを覚えなくてもいつも決まった名前(XXXX.dip.jp)で自機にアクセス
出来るようになります。つまり簡易サーバになった。(自機が起動している限り)

一円も使わずにここまで出来るのだからいい世の中になったものだ。
次回からこれを使っていろいろ遊びましょう。
ただメールサーバとかWebサーバとかセキュリテイがどうたらというくだらない話はかんべんしてください。

注意)自機を公開するってことは絶え間なく外部アクセスできるのでDenyHostとかrkHunterとかでやばい穴を
ふさいでおいてください。