はじめに
この記事は、初めて書くものであり、内容などを詳しく言及するものではない
何かを変えてみたかったので適当に書いた記事である。
最近ゲームをしていて、自作サーバーを作るみたいなことが増えてきた気がする。
毎回作るたびにファイアウォールの設定に行き作るのがめんどくさいと感じた、それで
いい方法を探していたらコマンドで設定できることを知った。
最初は旧式の方でやっていた、また使おうとしたときに使えなくなっていた。
どうやら変わっていたらしい、なので自分用でまとめることにした。
この記事は初心者によるの初心者のための基本的なことしか書いていないからそれでもいいよって方のみ閲読してください。
ポート開放とは
まずこの記事に、来ている人が何それはないと思うが一応語っておこう。
ポート開放とは、簡単に言ってしまえば識別IDみたいなものだ、
実際は、ネットワーク機器(主にルーター)において特定のポート番号を通じて外部からの通信を許可することをいう
ポートとはその識別番号のことである
何故するのか
通常ルーターは外部からの通信に対して制限をしているそのためその制限を掻い潜る必要がある。そのため設定する必要がある。
本題
旧タイプの場合
netsh.exeを使用してfirewallコマンドを使用しセットする 方法
- ファイアウォール設定
- ファイアウォールを有効にする
netsh firewall opmode mode =ENABLE
特定のポート(任意のポート)を許可する
netsh firewall add portopening protocol= プロトコルタイプ port=任意のポート番号 name="任意の設定名"
nameはダブルクォーテーション("")で囲むがportは囲まなくて良い
特定のプログラム(例:任意のプログラム)を許可する
netsh firewall add allowedprogram program = "任意のプログラム" name="任意のプログラム名"
ファイアウォール設定を表示する
netsh firewall show all
現在のプロファイルの設定を表示する
netsh firewall show state
全てのルールを表示する
netsh firewall show config verbose=enable
ファイアウォール設定をリセットする
netsh firewall reset
- TCP / IP
- インターネット通信の基盤となるプロトコルです。TCPは信頼性の高い通信を保証し、IPはデータのルーティングを担当します。
- UDP
- TCPよりも軽量で、リアルタイム性の高い通信に使用されます。 それ以外のプロコトルタイプはゲームに使うことは殆どありません。
- ドメインは
- ドメインネットワーク環境にてしようする。ドメインネットワークは通常、企業や組織などの管理されたネットワークである、とても高いセキュリティレベルがいる
- プライベートは
- 家庭や企業などのプライベートネットワーク環境にて使用する。プライベートネットワークは、信頼できるネットワークよりも緩やかなセキュリティ設定が適用されることもある。
- パブリックは
- 公衆無線LANやインターネットなどの公共のネットワークに接続されている場合に適用されます。 公共のネットワークは、潜在的な脅威のリスクが高いため最も厳格なセキュリティ設定が適用されます。
以下の通りに書いてbatファイルで保存すれば使える
※ どちらも保存するときに UTF-8ではなくASINで保存しなければならない
@echo off
netsh firewall set opmode mode = ENABLE
netsh firewall add portopening protocol= プロトコルタイプ
port=任意のポート番号 name="任意の設定名"
pouse
こちらで今は成功している
netsh advfirewall を使用する例:ルールの追加。
netsh advfirewall firewall add rule name="任意の設定名" dir=in action=allow protocol=プロトコルタイプ localport=任意のポート
これは、任意の設定名 という名前のルールを削除します。ルールのエクスポート。
netsh advfirewall firewall delete rule name="任意の設定名"
これは、現在のファイアウォールルールを 任意のプログラム にエクスポートします。ルールのインポート
netsh advfirewall export "任意のプログラム"
これは、任意のプログラム からルールをインポートします。
netsh advfirewall は、Windowsファイアウォールの詳細な設定をスクリプトで自動化したり、一元的に管理したりする場合に非常に便利です。
netsh advfirewall import "任意のプログラム"
プロトコルタイプは
profileはprivate,public,domainの3つである
@echo off
netsh advfirewall firewall add rule name="任意の設定名"
dir=in action=allow protocol=プロトコルタイプ localport=任意のポート番号
profile=プロファイル remoteip=any
pouse
ちなみに@echo offはコマンドプロンプトに文字列を出力しないようにする命令で、pouseはコマンド実行後、即コマンドプロンプトが閉じるのを阻止するもの。