そろそろ年末も近づいてきました。
田舎に帰ってもそこから自宅のサーバをアクセスしたいですよね。というわけでport-forwardingを設定して、自宅のサーバに外部からアクセスするための設定方法の話です。
最初に、ddnsサービスと契約します。今回は無料のwww.noip.comを使います。
この下に自分の使いたいホスト名を入れて、ドメインを適当に選択し、Sign Upボタンを押すと、ホスト名が開いているかどうかの確認と、契約ができます。
契約したらIPアドレスを調べてそれを登録します。IPアドレスのチェックやポートが開いているかどうかのチェックは、dashboardの右下の方に出てくる、Port Check Toolが便利でした。
次はport forwardingの設定方法です。
最初に画面上側でWAN、LANを設定します。eth0やeth1とするとうまくいかなかったので、pppope0、switch0と設定するのがいいのだと思います。下側でフォワードするポートを設定します。
設定を終えたら、実家に帰る前に上記Port Check Toolでポートが開いていることを確認すると、二度手間にならずにいいかと思います。
2016年12月18日日曜日
2016年11月27日日曜日
ssh-agentのシェア
今日はssh-agentを複数ウィンドウでシェアする方法の説明です。
以前必要があって調べた時はすぐ出てきたんですが、chromebookの設定で再度調べたら全然欲しい情報がヒットしなかったので、まとめときます。
ssh-agentは、sshでログインする時のパス入力を自動化する仕組みです。詳細はググッてください。
ssh-keygenしてssh-copy-idしたら、後は.profileや.bash_profileに以下を書きます。
これでssh-agentを一つだけ起動して、全てのウィンドウでそれをシェアします。毎回、ssh-addしなくて良くなるわけです。ログインしたら最初に一度だけssh-addしてください。後はそのパスフレーズを全てのウィンドウでシェアします。
最初のifで.ssh-agentファイルがあれば、そこに環境変数が書いてあるはずなのでロード。次のifで環境変数に問題があったり、設定されているプロセスが存在しなければ、ssh-agentの再起動をしています。
ssh-addなどで調べずkillで調べているのは、cygwinでうまく動作しなくなるからです。
利用する全てのマシンの.ssh/configには以下を書いておきましょう。
リモートのリモートにも自動でログインできるようになります。
続けて、screen用の設定です。以下はsshで入ったリモートでscreenを動かして、その中から更にsshする人用の設定です。screenを使わないなら必要ありません。
sshしてscreenした直後は調子いいのに、一度detachするとssh-agentが効かなくなる問題への対策が、以下になります。
まず、.screenrcに以下を追加します。
そして、 ~/bin/screenとして以下のスクリプトを用意。
sshしてscreenした時の問題の原因は、sshする度に、SSH_AUTH_SOCKで接続すべき接続先が変わるのに、screen内の環境は変化しないことにあります。
ここでは、SSH_AUTO_SOCKをシンボリックリンクファイルに置き換えて、screenの度にシンボリックリンクを更新することで対策しています。
Happy hacking! :-)
以前必要があって調べた時はすぐ出てきたんですが、chromebookの設定で再度調べたら全然欲しい情報がヒットしなかったので、まとめときます。
ssh-agentは、sshでログインする時のパス入力を自動化する仕組みです。詳細はググッてください。
ssh-keygenしてssh-copy-idしたら、後は.profileや.bash_profileに以下を書きます。
if [ -f ~/.ssh-agent ]; then
. ~/.ssh-agent
fi
if [ -z "$SSH_AGENT_PID" ] || ! kill -0 $SSH_AGENT_PID; then
ssh-agent > ~/.ssh-agent
. ~/.ssh-agent
fi
これでssh-agentを一つだけ起動して、全てのウィンドウでそれをシェアします。毎回、ssh-addしなくて良くなるわけです。ログインしたら最初に一度だけssh-addしてください。後はそのパスフレーズを全てのウィンドウでシェアします。
最初のifで.ssh-agentファイルがあれば、そこに環境変数が書いてあるはずなのでロード。次のifで環境変数に問題があったり、設定されているプロセスが存在しなければ、ssh-agentの再起動をしています。
ssh-addなどで調べずkillで調べているのは、cygwinでうまく動作しなくなるからです。
利用する全てのマシンの.ssh/configには以下を書いておきましょう。
Host *
ForwardAgent yes
リモートのリモートにも自動でログインできるようになります。
続けて、screen用の設定です。以下はsshで入ったリモートでscreenを動かして、その中から更にsshする人用の設定です。screenを使わないなら必要ありません。
sshしてscreenした直後は調子いいのに、一度detachするとssh-agentが効かなくなる問題への対策が、以下になります。
まず、.screenrcに以下を追加します。
setenv SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock
そして、 ~/bin/screenとして以下のスクリプトを用意。
#!/bin/sh
# Fix SSH auth socket location so agent forwarding works with screen.
case .$SSH_AUTH_SOCK in
.$HOME/.ssh/ssh_auth_sock)
# Called inside of screen, so nothing to do here
;;
*)
if test "$SSH_AUTH_SOCK"; then
ln -sf $SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock
fi;;
esac
# Execute screen
exec /usr/bin/screen "$@"
sshしてscreenした時の問題の原因は、sshする度に、SSH_AUTH_SOCKで接続すべき接続先が変わるのに、screen内の環境は変化しないことにあります。
ここでは、SSH_AUTO_SOCKをシンボリックリンクファイルに置き換えて、screenの度にシンボリックリンクを更新することで対策しています。
Happy hacking! :-)
2016年11月15日火曜日
Chromebook flip c100paとchromebrew
前から欲しかったchromebook購入しました。
ひゃっほい。悪くないキーボード、9時間くらいもつ電池、コンパイルもバリバリできる速度、タッチスクリーン、これが3万ちょいで買えます。
感想は10万とかするPCより便利じゃないかなこれ。いつでも手軽にサスペンドでき、サスペンドからの復帰も数秒なので、タブレット感覚で使えます。というかこれ買ってからタブレット触る回数減った。
この上でちょっとした開発をしたいと思っていたのですが、armチップセットなのでchromebrewという簡単開発環境が使えません。
なので、無理やり作りました。Chromebrew for ARMで公開してるので興味あればご利用ください。
EDIT: その後本家にマージされてます。
ひゃっほい。悪くないキーボード、9時間くらいもつ電池、コンパイルもバリバリできる速度、タッチスクリーン、これが3万ちょいで買えます。
感想は10万とかするPCより便利じゃないかなこれ。いつでも手軽にサスペンドでき、サスペンドからの復帰も数秒なので、タブレット感覚で使えます。というかこれ買ってからタブレット触る回数減った。
この上でちょっとした開発をしたいと思っていたのですが、armチップセットなのでchromebrewという簡単開発環境が使えません。
なので、無理やり作りました。Chromebrew for ARMで公開してるので興味あればご利用ください。
EDIT: その後本家にマージされてます。
2016年11月6日日曜日
EdgeRouter Xとオフロード
オフロードといっても自転車やバイクのそれでなく、ハードウェアオフロードの話です。
先日購入したEdgeRouter Xは、ハードウェアオフロードという機能がついてます。
この機能は最近のファームウェア更新で利用できるようになっています。デフォルトではオフです。オフの時の数字がこう。
これをオンにすると、
やったあああああ(/・ω・)/
設定は、Config Treeから行います。system→offloadで出てくるhwnatの欄に、enableと入れて有効にします。
下のpreviewを押すと実際に使うコマンドが表示されるので、applyします。
ハードウェアオフロードはハードウェアに細々とした仕事を任す機能です。なので、複雑なルール設定などをしていると問題が発生するかもしれません。この設定をして調子が悪くなったら、元に戻してください。
先日購入したEdgeRouter Xは、ハードウェアオフロードという機能がついてます。
この機能は最近のファームウェア更新で利用できるようになっています。デフォルトではオフです。オフの時の数字がこう。
これをオンにすると、
やったあああああ(/・ω・)/
設定は、Config Treeから行います。system→offloadで出てくるhwnatの欄に、enableと入れて有効にします。
下のpreviewを押すと実際に使うコマンドが表示されるので、applyします。
ハードウェアオフロードはハードウェアに細々とした仕事を任す機能です。なので、複雑なルール設定などをしていると問題が発生するかもしれません。この設定をして調子が悪くなったら、元に戻してください。
2016年11月4日金曜日
EdgeRouter Xで広告ブロック
さて、新しく使い始めたEdgeRouter Xですが、やはり広告が邪魔というわけで、真っ先にその対策です。
個人的には広告は必要悪と思っています。ですが、物事には限度があるわけで、動く広告や、読んでる記事の上に浮かぶ広告があると、抹消したくなるのが人間の自然な反応という奴でしょう。
こんな奴ですね。
EdgeRouter Xでは以下がout of the boxで利用可能です。
ホスト名ベースのブロックのやり方は以下の通り。標準で動いているdnsmasqが、
というファイルを読むため、そこに、
とひたすら書き連ねます。そうすると、家庭内からはそれらのホストへアクセスできない、つまりそれらのホストが提供している広告が見れなくなります。
上記ファイルを書くにはsudoが必要です。EdgeRouter X上の環境は全部簡易環境なので、作業はローカルでファイルを用意して、それをscpした後、ログインしてsudo cpするのが楽ちんです。書き終えたら、
として更新した設定を読み込ませます。ホスト名ベースのブロックは以上。
次は、IPアドレスベースのブロックです。まず、Firewallに外向きのルールを追加します。ここはGUIから操作できます。Firewall/NATから、Firewall Policiesで、Add Rulesetで外向きを追加します。デフォルト動作はacceptにして、条件にマッチした物だけをrejectします。
このrulesetの中に、Add New RuleでrejectするIPアドレスを登録します。今回はhttpの広告がターゲットなので、「TCPで、ポートが80で、特定のIPアドレス(/24などとしてネットワークも指定できます)をrejectする」としています。
購入しただけで、何も追加しなくても、広告がブロックできるEdgeRouter X、マジ有能(/・ω・)/
個人的には広告は必要悪と思っています。ですが、物事には限度があるわけで、動く広告や、読んでる記事の上に浮かぶ広告があると、抹消したくなるのが人間の自然な反応という奴でしょう。
こんな奴ですね。
EdgeRouter Xでは以下がout of the boxで利用可能です。
- ホスト名ベースのブロック
- IPアドレスベースのブロック
ホスト名ベースのブロックのやり方は以下の通り。標準で動いているdnsmasqが、
/etc/dnsmasq.d/dnsmasq.adlist.conf
というファイルを読むため、そこに、
address=/ホスト名1/0.0.0.0 address=/ホスト名2/0.0.0.0 address=/ホスト名3/0.0.0.0
とひたすら書き連ねます。そうすると、家庭内からはそれらのホストへアクセスできない、つまりそれらのホストが提供している広告が見れなくなります。
上記ファイルを書くにはsudoが必要です。EdgeRouter X上の環境は全部簡易環境なので、作業はローカルでファイルを用意して、それをscpした後、ログインしてsudo cpするのが楽ちんです。書き終えたら、
$ sudo /etc/init.d/dnsmasq force-reload
として更新した設定を読み込ませます。ホスト名ベースのブロックは以上。
次は、IPアドレスベースのブロックです。まず、Firewallに外向きのルールを追加します。ここはGUIから操作できます。Firewall/NATから、Firewall Policiesで、Add Rulesetで外向きを追加します。デフォルト動作はacceptにして、条件にマッチした物だけをrejectします。
このrulesetの中に、Add New RuleでrejectするIPアドレスを登録します。今回はhttpの広告がターゲットなので、「TCPで、ポートが80で、特定のIPアドレス(/24などとしてネットワークも指定できます)をrejectする」としています。
購入しただけで、何も追加しなくても、広告がブロックできるEdgeRouter X、マジ有能(/・ω・)/
2016年11月3日木曜日
EdgeRouter Xの購入
お久しぶりです。久々の更新です。
先日yabeさんのtwitterでの紹介を見てから、ずっと気になっていたEdgeRouter Xを購入しました。
これまで、OpenWrtを使ってました。機能は豊富で色々設定できて、広告ブロックも出来てて、快適に使ってたんですが……、全部ソフトなので遅いなと。eo光で1G家庭用接続でこのくらいでした。
そう思っていたところ、yabeさんがtwitterでEdgeRouter Xを呟いてるのを見て、ずっと欲しいなあと思ってました。
性能もハードウェアオフロードを使ってて、直結ならNATしながら900Mbps出るよとか、欲しくなるでしょう、コレ。
北米では$50くらいなんですが、日本で小売りしている所になると1万を超えます。特に、yabeさんの紹介が火をつけたのか、その時は1万5000円を超えていました。それでもずっとチェックしていたところ、1万で販売している小売りを見つけ、遂にポチったわけです。
やったあああああ(/・ω・)/
先日yabeさんのtwitterでの紹介を見てから、ずっと気になっていたEdgeRouter Xを購入しました。
これまで、OpenWrtを使ってました。機能は豊富で色々設定できて、広告ブロックも出来てて、快適に使ってたんですが……、全部ソフトなので遅いなと。eo光で1G家庭用接続でこのくらいでした。
そう思っていたところ、yabeさんがtwitterでEdgeRouter Xを呟いてるのを見て、ずっと欲しいなあと思ってました。
性能もハードウェアオフロードを使ってて、直結ならNATしながら900Mbps出るよとか、欲しくなるでしょう、コレ。
- HW_NAT can offload NAT for IPoE/PPPoE, TCP/UDP checksums, TSO, GRO, VLAN (tagging and checksum) and even Hardware QoS but no DPI.
- Test 4 : Laptop 1 ---(NAT)ER-X--- Laptop 2; NAT, offload disabled 385 Mbits/sec
- Test 5 : Laptop 1 ---(NAT)ER-X--- Laptop 2; NAT, offload enabled 935 Mbits/sec
北米では$50くらいなんですが、日本で小売りしている所になると1万を超えます。特に、yabeさんの紹介が火をつけたのか、その時は1万5000円を超えていました。それでもずっとチェックしていたところ、1万で販売している小売りを見つけ、遂にポチったわけです。
やったあああああ(/・ω・)/
登録:
投稿 (Atom)