ipv6」タグアーカイブ

Mac OSX のインターフェースに複数のアドレスを割り当てる方法

OSXで複数のIPv6アドレスを割り当てたい

自宅のネットワークがIPoEによりIPv6ネイティブ接続になったので、クライアントであるMacにIPv6のアドレスを割り当てようとしました。今回割り当てようとしているIPv6アドレスは、機器に勝手に割り当てられるリンクローカルアドレス(fe80::/64)と、IPoEのRAでふってくるGUA(Global Unicast Address:今回は2409:252::/64)と、いわゆるプライベートアドレス的なULA(Unique Local Address:fd00::/48)の3つです。

リンクローカルアドレスは問答無用で割り当てられるので無視ですが、残りの2つは設定のネットワークを見てもどちらか一方しか割り当てられないように見えます。TCP/IPの設定のIPv6の設定は自動化か、手入力か、リンクローカルのみの三択です。自動はGUAの割当のことです。

さらにULAを割り当てたい場合は、左のペインで「+」を押して、インターフェースを増やします。今回の場合はWi-Fi 2という名前です。

この新しくできたインターフェースのTCP/IPの設定でIPv6の手入力を選択し、ULAを入力します。IPv4の設定や、DNSの設定は全て空白のままでいいです。

/sbin/ifconfigで見ると、IPv6のアドレスが追加されていました。

sslhによるtcp/443でのsshd,httpdの両まちうけ

最近はネットワークのフィルタリングが厳密すぎて、tcp/22ポートにおけるsshの接続ができなくなってきました。sshはsshd_configで簡単にポート番号を変えられれますので、どのネットワークでもまず閉じられていないtcp/443(SSL)に変えてしまうという手があります。しかしながら、webサーバを立ち上げているサーバでは当然443は占拠されているので、今回のsslhを使ってクライアントのリクエストに応じて適切なサービスに割り振ることをします。

インストール

Debianではパッケージがありましたので、そこからインストールします。

# apt install sslh

最初に、inetdで起動するか、standaloneで起動するか聞いてきます。sshもhttpdもstandaloneで動いているわけですし、sslhも素直にstandaloneにしておきます。

既存サービスのポート変更

httpd

私はApacheを使っていますので、/etc/apache2/ports.confを書き換えました。

Listen 80

<IfModule ssl_module>
 Listen localhost:443
</IfModule>

<IfModule mod_gnutls.c>
 Listen localhost:443
</IfModule>

ポート番号はそのままに、待ち受けるアドレスをlocalhostにしています。編集後にapacheの再起動。

ssh

/etc/ssh/sshd_configを編集します。

#Port 22
Port 12345
Port 23456

もともとの22番はコメントアウトしています。22番ポートへの攻撃は多いのであえて閉じています。そのあとにある12345,23456が待ち受けポートです(本当は違う値ですけど)。編集後にsshdの再起動。

sslhの設定

sslhの設定は/etc/default/sslhです。

RUN=yes
DAEMON_OPTS="--user sslh --listen xxx.xxx.xx.x:443 --listen xxxx:xxx:xx:x:x:x:x:x:443 --ssh 127.0.0.1:12345 --ssl 127.0.0.1:443 --pidfile /var/run/sslh/sslh.pid"

変更箇所は2行です。–listenでまちうけのアドレスとポートを指定します。–sshでsshのポート番号を、–sslでhttpdのポート番号を指定しています。編集後にsslhの再起動をします。

まちうけにはIPv4もIPv6の両方共いけました。転送先のアドレス(127.0.0.1)がIPv4しか書いてないのに、IPv6でsshのコネクションが張れていまいち謎な感じですけど、できてしまいました。一種のIPv6トランスレーター的な動きをしているのかもしれません。

確認

httpdの確認は通常のブラウザから出来ます。sshはポート番号を変えましたので以下のようにつなぎます。

$ ssh -p 12345 サーバのアドレスなど

毎回ポート番号を書くのが面倒であればconfigに書くのがいいでしょう。

注意

リモートのサーバを編集するときは注意しましょう。設定を間違えると2度と繋がらなくなる可能性があります。sshなどは設定を変更してサービス再起動しても、今あるセッションはそのまま残りますので、設定が完全に出来上がって問題なくなるまで、作業中は切断しないようにするといいと思います。