少し前に DTI が運営している ServersMan@VPS の SSHD の待ち受けポート番号が、いっせいに 3843 に変えられてしまうという事件がありました。
これに反発して、さくらのVPSに乗り換えた方も結構いらっしゃったようですが、ServersMan@VPS は安いので、なかなか乗り換えられずにいます。
しかし、3843 は覚えにくい。
なんで 3843 なのかというと、DTI の親会社である フリービット の証券コードなんだそうです。
そんなの知るかっ!!
SSH の待ち受けポートが変わると、Git サーバーで使うポートの番号も変わってしまうので、外出先から自分の Git リポジトリにアクセスするときにいつも迷います。
なので、ポート番号を覚えやすい番号に変えてしまおうと思ったのですが、既に 3843 で .ssh/config とかもろもろ設定してしまっているので、それを全部直すのも面倒くさい。
そこで、ふたつのポートで待ち受けできる方法はないか調べてみました。
iptables を使えば、任意のポートに来たパケットを、別の任意のポートに転送できるみたいです。
/etc/sysconfig/iptables に以下を書き加えます。
/etc/sysconfig/iptables
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# SSH
-A PREROUTING -p tcp --dport 2121 -j REDIRECT --to-port 3843
COMMIT
できたら iptables を再起動します。
service iptables restart
これで、2121 番ポートに接続しても、3843 番ポートに繋がるようになりました。