はじめに
自宅のネットワークに対して自分でファイヤーウォールを設定していると、必要ないポートは基本全部塞ぐってスタンスの人も多いと思います。
その際に「よく使うサービス・機能が使えなくなった」ってことが結構あると思うので、このサービスではこれが必要だったってのをメモっておこうと思います。
well-knownポートについて
well-knownポート、一般的なプロトコル用に用途が決まっているポートです。
こちらはWikipedia様の一覧を見れば事足りますのでリンクを貼っておきます。
TCPやUDPにおけるポート番号の一覧
一応自分が家のルーターに設定しているものを抜粋。
機能 | 通信プロトコル | デフォルトポート番号 | 備考 |
---|---|---|---|
DHCP | UDP | 67, 68 | ローカルネットワークのIP払い出し |
DNS | UDP/TCP | 53 | 名前解決 |
HTTP | TCP | 80 | 各種HTTP通信 |
HTTPS | TCP | 443 | 各種HTTPS通信 |
NTP | UDP | 123 | 時刻同期用のプロトコル |
SMTP | TCP | 25 | メール |
SMTPS | TCP | 465 | メール、over TLS protocol |
POP3 | TCP | 110 | メールサーバーの設定による |
POP3S | TCP | 995 | メールサーバーの設定による |
SSHについてはポートを変えているので未記載。
Linux環境化のSSHサーバーだったら、例えば以下のようにすれば設定からポート番号を引っ張ってきて穴あけを行うことが出来ます。
# sshd_configのに設定されたポート番号を検索して、LOGINに代入
LOGIN=`cat /etc/ssh/sshd_config | grep '^#\?Port ' | tail -n 1 | sed -e 's/^[^0-9]*\([0-9]\+\).*$/\1/'`
# 取得したポート番号に対してACCEPT設定
iptables -A INPUT -p tcp -i ${LANIF} --dport $LOGIN -j ACCEPT
その他サービスを利用する際に必要なポート番号
Youtube, Twitter, slackチャット, Qiita等、Webサービス全般は大抵HTTP/HTTPSのポート(+DNS等の外に出るためのポート)が空いていればOKでした。
ただ、一部サービスは+αのポートを利用する為設定追加が必要です。自分が出くわしたもの、使いそうなものを記載。なんか出くわしたら追記していきます。
- Googleハングアウト/ハングアウトMeet
- UDPの19302-19309
- ポートをふさいだ状態でもテスト通話は聞こえるが、通話すると画面が真っ暗なままになる。実際通話してみないと気付きませんでした。
- UDPの19302-19309
- Line
- 無料通話・ビデオ通話: UDPの389, 443, 554, 9400-9420, 10000-60000
- ポートをふさいだ状態だと、呼び出しはなるけど通話できず、そのうちエラーで切れます。
- LINE Out: UDPの10000-60000
- 無料通話・ビデオ通話: UDPの389, 443, 554, 9400-9420, 10000-60000
- Slackコール
- UDPの22466、*.slack-core.comのホワイトリスト登録
- ニコニコ生放送
- TCPの80、81~86、88~92、99、443、843、1935、2805~2899
- ポートをふさいだ状態だと、枠だけ開くけど配信者の画面が真っ暗に映ります。
- TCPの80、81~86、88~92、99、443、843、1935、2805~2899
※各種サービスのホームページを調べれば大抵情報は乗っています。ただスマホゲームで情報がないものがあったりするのが難点。
参考
一般的な番号 Wikipediaより:
TCPやUDPにおけるポート番号の一覧
Googleハングアウト公式:
G Suite 管理者ヘルプ - 1. ネットワーク接続の要件
Line設定(公式が無かったので、公式問い合わせをされた方のブログ):
LINEで遊ぶ - 利用ポート一覧 -
Slack公式:
Slack コールのトラブルシューティング
ニコニコ生放送公式:
niconicoの動作環境