過去記事 router/windowsPC200421

windowsPCをルーターにしたい.

パケット転送を有効に

Linuxで言うところの「echo 1 > /proc/sys/net/ipv4/ip_forward」を施します。
「管理ツール」->「サービス」から「Routing and Remote Access」を有効にします。
初回は「スタートアップの種類」で「無効」とかになっているかと思います。
それを「自動」に切り替えて、「開始」を押下します。最後に「OK」ボタンを押下します。

これが有効になっていると、「ipconfig /all」の表示の際、「IP ルーティング有効......: はい」となります。
2020y07m03d_111152258.png

windowsをルータにする(Internet Connection Sharing, ICS)

ルーターと言ってもnatpかな? 高度なことはできないけど、場合によってはこれで十分かと

まずwindowsPCをルーターにするにはwindowsPCに2個nicが必要です.
2つのnicを据え付けて、コントロールパネルの「ネットワークと共有センター」にてインターネットに繋がっている側のnicの
「状態」から「プロパティ」画面を開きます。そこに「共有」タブがあります。
それを開いて「インターネット接続の共有」から下記のように「ネットワークのほかのユーザに、このコンピューターのインターネット接続をとおしての接続を許可します」を有効にします。
2020y04m21d_224625503.png
そして「OK」ボタンを押下して「プロパティ」を閉じて、「状態」パネルも閉じます。

これでインターネットに繋がっていないnicは強制的に
ipアドレス:192.168.137.1
サブネットマスク:255.255.255.0
になります。
2020y04m21d_224929406.png

これで内部「192.168.137.0/24」側から外(インターネット側)への通信が確保されます。

ここでは下記のような環境を構築しようとしています。
2020y04m21d_225622156.png

内部のLinuxマシンはそれぞれ、
192.168.137.2と192.168.137.3としてサブネットマスクは24ビットの255.255.255.0、GWは192.168.137.1とします。
DNSはGWと同じく 192.168.137.1 とかでもOK

これで内部のLinuxマシンはyum updateらができます。

ポートフォワード

ルーターであるwindowsPCにログインもしくはRemoteDesktopでログインして、そこからTeratermやらMobatermXを使って
内部の計算機にアクセスるのもあるが、それだと利用者がログインしているユーザに限定されてしまう。

それを回避するためwindowsPCにポートフォワードの設定を施して外部(192.168.0.0/24)のPCから直接Linuxマシンにアクセスできるようにしてみる.

windowsPCにて「コマンドプロンプト」を起動します。
そして「runas /user:administrator cmd」と実行して管理者権限で動く「コマンドプロンプト」を用意します。
ほかにもいろいろと管理者権限の「コマンドプロンプト」の作り方はありますけど

その管理者権限で動く「コマンドプロンプト」内で下記を実行します。

(設定)
netsh interface portproxy add v4tov4 listenport=8122 listenaddr=0.0.0.0 connectport=22 connectaddress=192.168.137.2
 
netsh interface portproxy add v4tov4 listenport=8222 listenaddr=0.0.0.0 connectport=22 connectaddress=192.168.137.3
 
(確認)
netsh interface portproxy show v4tov4
 
(削除)
netsh interface portproxy delete v4tov4 listenport=8122 listenaddr=0.0.0.0
netsh interface portproxy delete v4tov4 listenport=8222 listenaddr=0.0.0.0

*port番号の上限は 65535 です. 1024から65535のPRIVATE PORTSを使います.

これでwindowsPCの
ポート番号 8122 は内部の 192.168.137.2 の 22(ssh) に繋がり
ポート番号 8222 は内部の 192.168.137.3 の 22(ssh) に繋がりました.

*一度設定すると再起動しても元には戻りません。

windows ファイアウォールの修正

外部からのwindowsPCへのアクセスは ファイアウォール で防御されています。
ここではポート 8122 と 8222 が外部からのアクセスに使用されることになるので、このポートを許可する設定をwindowsPCに施します。

コントロールパネルから「Windows ファイアウォール」を開いて、左ペインから「詳細設定」リンクをクリックします。
2020y04m21d_214311451.png

そうして開いた「セキュリティが強化されたwindows ファイアウォール」画面の左ペインで「受信の規則」を選択します。
2020y04m21d_214423721.png

同じ画面で、右ペインから「新しい規則...」をクリックします。
2020y04m21d_214550781.png

新に「新規の受信の規則ウイザード」画面が表示されます。
ここで、許可したいのがポートなので、「ポート」を選択して、「次へ」を押下します。
2020y04m21d_214723712.png

次にポート番号を指定します。ここでは「8122」と「8222」なので「8122,8222」と入力して「次へ」を押下します。
2020y04m21d_215023042.png

次に指定したポート番号は許可したいので、「接続を許可する」を有効にして「次へ」を押下します。
2020y04m21d_215226106.png

適用先ですが、特段意識してないのならすべて選択してOKかと。「次へ」を押下します。
2020y04m21d_215416712.png

最後に名前とかこの説明を記載します。記入して「完了」ボタンを押下します。
2020y04m21d_215859474.png

これで完了です。

接続テスト

windowsマシンの「port 8122」とかにアクセスするので、下記のようにアクセスする
「-l」はユーザ名、「-p」はポート番号、「-Y」はXフォワード

[illya@c ~]$ ssh -l root 192.168.0.100 -p 8122 -Y
root@192.168.0.100's password:
 
[root@localhost ~]#

TeraTermnなら下記のようにしてアクセスします。
2020y04m21d_220516753.png

メモ

ルーターとなったwindowsPCを再起動すると内部から外部への接続ができなくなる現象が生じるみたい。

回避策は
「インターネット接続の共有」から下記のように「ネットワークのほかのユーザに、このコンピューターのインターネット接続をとおしての接続を許可します」を一旦外して「OK」ボタンを押下して有効にさせ、その後再度開いて「ネットワークのほかのユーザに、このコンピューターのインターネット接続をとおしての接続を許可します」を有効にして「OK」ボタンを押下してください。
こうすれば内部から外部への接続が復活します。
2020y04m21d_224625503.png

*再起動するとこの部分がうまく動かなくなるみたい。

Microsoft様からは下記のような回避方法を提出しています。
https://support.microsoft.com/ja-jp/help/4055559/ics-doesn-t-work-after-computer-or-service-restart-on-windows-10


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2020-08-03 (月) 08:12:56 (46d)