こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VMwareのCentOSに外部から接続したい

Windows10にVMware Player 12.5をインストールしてCentOS6を作りました。
外部のLINUXからCentOSに22番でSSH接続したいのですがうまくいきません。
おそらくルーター(MN8300)の設定が問題ではないかと思っていますが、
原因が特定できずかれこれ、、1か月ほど悩んでおります。

自宅のIPはルーターの再起動などするとかわりますが、以下のサイトで都度、確認はできます。
https://www.cman.jp/network/support/go_access.cgi

■実施済みのこと
・Win10のファイアーウォールで22番の受信規則を許可
・CentOSのネットワークはNATで設定
・CentOSのローカルIPは「IPADDR=192.168.211.132」で固定済み
 ※毎回ホストのWin側から上記IPでSSH接続できてます

■ルーターで設定済みの状態
◇UPnP設定
接続したい外部のIPを許可済み

◇GapNAT通過・NATアドレス変換設定
LAN側IPアドレス:192.168.211.132
ポート番号:22

◇NATアドレス・ポート変換設定
LAN側IPアドレス:192.168.211.132
LAN側ポート番号:22
WAN側ポート番号:19727 ※適当です

◇IPフィルタ設定
インタフェース:LAN側から受信(または接続元1から受信も試しました)
送信元IPアドレス/マスク長:xxx.xxx.xxx.0/24
送信先IPアドレス/マスク長:192.168.211.0/24
プロトコル:*
送信元ポート番号:*
送信先ポート番号:*
IPフィルタアクション:通過

※上記設定のまま何度もルーター再起動もしてます。

■CentOS側の状態 (どこからでも許可な状態)
[root@localhost ~]# service iptables status
iptables: Firewall is not running.
[root@localhost ~]# netstat -ant|grep :::22
tcp 0 0 :::22 :::* LISTEN
[root@localhost ~]# cat /etc/hosts.deny |grep -vc "#"
0

◇接続元LINUXからのtraceroute
※初めのほうは省略します
12 111.168.0.25 (111.168.0.25) 1.756 ms 111.168.0.77 (111.168.0.77) 1.981 ms 111.168.0.241 (111.168.0.241) 1.593 ms
13 122.135.0.41 (122.135.0.41) 1.865 ms 122.135.0.121 (122.135.0.121) 15.809 ms 122.135.0.105 (122.135.0.105) 1.737 ms
14 * * *
15 221.171.0.249 (221.171.0.249) 2.430 ms 2.653 ms *
16 * * *

ビッグローブのプロバイダを利用してるのですが、途中までは来てます。

◇CentOSから外部LINUXへのtraceroute
1 192.168.211.2 (192.168.211.2) 0.096 ms 0.040 ms 0.044 ms
2 * * *

上記の通りCentOSからだとtracerouteはすぐ途切れるようですが、
CentOSから外部LINUXへSSH接続はできます。
CentOSへ外部LINUXからSSH接続はできません。

◇外部LINUXからのSSH接続時のエラー
[root@xxxxxxxx ~]# ssh xxx@210.151.xxx.xxx
ssh: connect to host 210.151.xxx.xxx port 22: Network is unreachable

grep -r でログを探しても外部LINUX側へ接続したログが外部LINUX側に残るだけで
手がかりはありませんでした。

ルーター側に「IPスタティックルート設定」という項目がありますが、
どう設定するのかわかりません。。

どうしたらよいかご教示お願いします。

投稿日時 - 2016-10-30 06:22:06

QNo.9249350

困ってます

質問者が選んだベストアンサー

>DHCPに変えました。IPも192.168.211.128になりました。
CentOSのネットワークアダプタのモードはNATですね?

>WinからのpingOKです。
ルーター(MN8300)のLAN側へ接続したホストOS以外のデバイスからPingコマンドで疎通を確認しないと無意味ですよ。
ホストOSには仮想のネットワークアダプタが付加されてゲストOSとの通信が可能なようになりますのでホストOSからゲストOSへの通信制限はありません。

>この設定がわからないのです。ルーター側の設定は以下の部分だけにしてみました。
ゲストOS(CentOS)のネットワークアダプタのモードがブリッジでないとルーター(MN8300)でポート開放の意味がありません。
強いて、NATモードでCentOSへWAN側(インターネット)からSSH接続を許可する場合はルーターでのポート開放の宛先はホストOS(Win10)へ向けなければなりません。
ホストOSではVMwareのルーター機能でポート開放を行う必要があります。(経験ありませんが論理的に必要と判断します)

投稿日時 - 2016-11-06 13:40:28

お礼

NATモードになっておりました。。どうもデフォルトゲートウェイが192.168.1.1だとつながらなくなるので、おかしいと思ってたのですが、
NATからブリッジに変えたあと、eth0のファイルのデフォルトゲートウェイを
192.168.1.1にしてnetwork再起動したらルーターに設定したポート通過も
反応して外部サーバーからSSH接続可能となりました!

ご教示ありがとうございました。
ベストアンサーにさせていただきます!

投稿日時 - 2016-11-06 17:47:41

ANo.6

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.5

取りあえずいえることはNATよりブリッジの方が遥に楽です。
NATの場合は、
・VMwareWorkstationPlayerの仮想ルーターのポートフォワーディングの設定
・ルーターのボートフォワーディングの設定
は、既に書かれていますけど、もう1点
仮想ルーターとルーターはネットワークセグメントが異なるはずですから
ルーターにルーティングの設定も必要になってきます。

投稿日時 - 2016-10-30 20:09:47

補足

ありがとうございます。みなさまブリッジをお勧めいただいてますので、
まずはブリッジで外部からゲストOSに接続する方向で奮闘中です。

上記に現状を記載しておりますおのでご教示いただけますでしょうか。
よろしくお願いいたします。

投稿日時 - 2016-11-06 02:17:06

ANo.4

>現状の認識は以下の通りです。

間違ってます。

>◇ブリッジ接続
>・外部からゲストOSへの接続が簡単に設定できるらしい
正しい。外部のルーターのポートフォワーディングの設定だけで出来ます。
>・ルーター側でポートフォワーディングが必要そうですが設定方法が不明
正しい。
>・ゲストOSが外部へのネット接続不可になる
間違い。どこからそんな話が??

>◇NAT接続
>・外部からゲストOSへの接続が少々複雑らしい
正しい。外部のルーターのポートフォワーディングと、仮想ルーターのポートフォワーディングの両方の設定が必要です。

>・仮想ルーター側でポートフォワーディングが必要そうですが設定方法が不明
上記参照。

>・ゲストOSは外部へのネット接続は可能
正しい。

>取り急ぎご教示いただいたvmnetnat.confに以下追記をして、Winそのものの再起動までしましたが変化ありませんでした。

外のルーターのポートフォワーディング先は、仮想ルーターのホスト側の口のアドレスにしていますか?
ネットワークに自信が無い限りは、二段ルーターは避けた方が良いと思いますよ。

>・ゲストOSが外部へのネット接続不可になる
は上述のようにガセなので、ブリッジ接続をお勧めします。

投稿日時 - 2016-10-30 17:44:13

補足

ご連絡ありがとうございます。
>外のルーターのポートフォワーディング先は、仮想ルーターのホスト側の口のアドレスにしていますか?
これがどう設定するのかわからないのです。

ブリッジ接続でもゲストOSから外部に接続できました。あとは
このスレッドにある、逆に外部からゲストOSにつなげられれば
目的達成です。。

ブリッジだとルーター直になるという点はわかってきました。
先ほど「■network設定状態」やルーターの画像などを添付しましたので、
引き続きご教示よろしくお願いします。

投稿日時 - 2016-11-06 02:14:11

ANo.3

>ルーターの設定はそのままにブリッジ接続にも代えてみましたが、外部から接続できませんでした。
ルーターの設定がそのままの場合はインターネット側から接続できません。
取敢えず、ゲストOS(CentOS)のIPアドレスをDHCPサーバーから自動取得にします。
次に、ホストOSと同一セグメントの端末からPingで通信の可否を確認してください。
ブロードバンドルーターでのポート開放では宛先をゲストOSのIPアドレスにします。
ゲストOSを固定IPで運用するときはDHCPで取得したIPアドレスと同じセグメントの中から任意の1つを使います。(DHCPサーバーから付与する範囲と重複しないようにしてください)

>NATよりブリッジのほうが簡単なのでしょうか?
ゲストOSのネットワークがNATのとき、ホストOSのルーティング機能でポート開放が必要になるので高度な知識を要すると思います。(経験がありませんのでアドバイスできません)

投稿日時 - 2016-10-30 14:43:50

補足

平日時間がなくご連絡遅れてすいません。
引き続き苦戦してます。

>取敢えず、ゲストOS(CentOS)のIPアドレスをDHCPサーバーから自動取得にします。
DHCPに変えました。IPも192.168.211.128になりました。
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0|grep BOOTPROTO
BOOTPROTO=dhcp

>次に、ホストOSと同一セグメントの端末からPingで通信の可否を確認してください。
WinからのpingOKです。
C:\Users\ryusaku>ping 192.168.211.128

192.168.211.128 に ping を送信しています 32 バイトのデータ:
192.168.211.128 からの応答: バイト数 =32 時間 <1ms TTL=64

>ブロードバンドルーターでのポート開放では宛先をゲストOSのIPアドレスにします。
この設定がわからないのです。ルーター側の設定は以下の部分だけにしてみました。
https://www.dropbox.com/s/gxaycodn3hy9u29/ru-ta-.png?dl=0

おそらくNATではなくブリッジでやる場合には関係なさそうですが、一応、
Win側のFWも以下の通り22番は通すように設定してます。
https://www.dropbox.com/s/9k97f2184lgsf6y/win.png?dl=0

ゲストOSのIP固定はあとにして、変わってしまうIPアドレスでも毎回ip aを打てば現状のIP(今は192.168.211.128)がわかり、ホストOSからもSSH接続もできてるので、いいとして、おそらくルーター側の設定が足りないのではと思ってます。

一応サーバー側の状態も記載します。

■network設定状態
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
NETMASK=255.255.255.0
USERCTL=no
PEERDNS=no
GATEWAY=192.168.211.2
IPV6INIT=no
[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain

■ルーティングテーブル
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.211.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default 192.168.211.2 0.0.0.0 UG 0 0 0 eth0

お手数ですが、ご確認おねがいします。

投稿日時 - 2016-11-06 02:09:57

ANo.2

>Windows10にVMware Player 12.5をインストールしてCentOS6を作りました。
VMware(R) Workstation 12 Playerの最新版のバージョンは12.5.1 build-4542065ですが同じものですか?

>外部のLINUXからCentOSに22番でSSH接続したいのですがうまくいきません。
>おそらくルーター(MN8300)の設定が問題ではないかと思っていますが、
原因は単純ではありませんので思い込みは禁物です。

>・CentOSのネットワークはNATで設定
>・CentOSのローカルIPは「IPADDR=192.168.211.132」で固定済み
NATではインターネット側から見ると2重ルーターになりますのでブリッジとし、ホストOS(Windows 10)と同一セグメントに変更された方が良いでしょう。
「※毎回ホストのWin側から上記IPでSSH接続できてます」と言うことですが、ホストOSには仮想ネットワーク環境でゲストOSと通信できるようルーティング機能が働いていますのでホストOSからゲストOSへは無制限で接続可能になります。
ホストOSと同一セグメントの他の端末からCentOSへSSH接続の可否を確かめることが先決です。

投稿日時 - 2016-10-30 09:59:39

補足

ご教示ありがとうございます。
VMware(R) Workstation 12 Playerは12.5.0です。
ルーターの設定はそのままにブリッジ接続にも代えてみましたが、
外部から接続できませんでした。

NATよりブリッジのほうが簡単なのでしょうか?

投稿日時 - 2016-10-30 13:52:21

ANo.1

>・CentOSのネットワークはNATで設定

ということだと、VMware内の仮想ルーター越しの通信になるので、この仮想ルーターにポート開放の設定が必要です。
簡単には、NATでなくブリッジ接続にすると良いかと思います。

NATの場合は下記のファイルの設定でポート開放できると思います。
C:\ProgramData\VMware\vmnetnat.conf
さらに、外のルーターのポートフォワーディングは、CentOSのIPアドレスじゃなくて仮想ルーターのLAN側の口のIPアドレスに対して行う必要があります。
やっぱりブリッジ接続が楽ですね。

投稿日時 - 2016-10-30 07:19:11

補足

ありがとうございます。
取り急ぎご教示いただいたvmnetnat.confに以下追記をして、Winそのものの再起動までしましたが変化ありませんでした。

[incomingtcp]
9522 = 192.168.211.132:22

上記の状態で9522、22どちらにも外部から接続不可でした。
仮想ルーターのLAN側のIPは192.168.1.1のようですが、どこで
どう設定するのかがわからずじまいです。。

すいません。ブリッジだとルーター側の設定を変更しなければならないという情報を見つけてて、ルーター設定方法が未知の領域だったので、NATで頑張ってたのでしたが、いつのまにかルーターの設定までもいじりだし、、混乱してました。。

現状の認識は以下の通りです。

◇ブリッジ接続
・外部からゲストOSへの接続が簡単に設定できるらしい
・ルーター側でポートフォワーディングが必要そうですが設定方法が不明
・ゲストOSが外部へのネット接続不可になる

◇NAT接続
・外部からゲストOSへの接続が少々複雑らしい
・仮想ルーター側でポートフォワーディングが必要そうですが設定方法が不明
・ゲストOSは外部へのネット接続は可能

◇最終的な希望
・ゲストOSから外部へのネット接続が可能な状態
・外部からゲストOSへのSSH接続

NATでもブリッジでも接続ができたら後はセキュリティがちがちに
するつもりなので、、なんとか外部から接続させたいです!

ブリッジが楽とのことですが、、ルーター側の設定方法や
ゲストOSから外部にネット接続不可になってしまう弊害がありまして。。

お手数ですが、ご教示くださいませ。。

投稿日時 - 2016-10-30 13:47:36