質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.34%

sshサーバの外部からの接続が出来ません

受付中

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 3,491

score 4

前提・実現したいこと

皆様のお力をお借りしたいです。
現在sshサーバを立ち上げるために環境を構築しています。
行ったことは以下の通りです。

1.iptablesで特定のIPアドレスからのsshのみ許可
2.sshの公開鍵認証を設定
3.パスワード認証を禁止
4.モバイルwifi(UQwimax speed wifi next wx06)でプロファイル設定後、ポートマッピングで22番ポート開放設定

発生している問題・エラーメッセージ

外部のネットワークから接続出来ずに困っています。

試したこと

1.ローカルではsshできます。
2.pingもローカルでは返ってきますが、外部からpingを飛ばしても返ってきません。

#/etc/iptables/rules.v4
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -s (ip adress) -p tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
Lan側ホスト:192.168.11.6
プロトコル:TCP
ポート番号:22
優先度:1

iptablesの設定を変更したあとは
sudo /sbin/iptables-restore < rules.v4
をし、設定が変更されたことを確認するために
sudo iptables -L
をしています
~~~~

default via 192.168.11.1 dev enp3s0 proto static
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
192.168.11.0/24 dev enp3s0 proto kernel scope link src 192.168.11.6


ip rou の出力結果。
192.168.11.1:バッファロールータのアドレス
192.168.11.6:サーバ

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp3s0, link-type EN10MB (Ethernet), capture size 262144 bytes
10:19:12.741576 IP user.ssh > 192.168.11.2.60314: Flags [P.], seq 536615989:536616177, ack 3969807546, win 501, options [nop,nop,TS val 3813091487 ecr 2054784889], length 188


192.168.11.2[下図PC2]

補足情報

ubuntu18.04です。
最終的にはsshポート以外のポートも開放したいと考えています。
モバイルwifiのため、IPアドレスが変化してしまうことを防ぐため、クレードルに差すことで一時的に固定しています。

一週間ほど頑張ってみましたがどうしても出来ませんでした。
直接解決に結びつかなくても良いので、「これを確認してみては」というようなアドバイスもあればいただきたいです。

よろしくお願いします。

buffaloルータ

・ポート変換
Internet側IPアドレス: エアーステーションのInternet側IPアドレス
LAN側IPアドレス:192.168.11.6
TCP/UDPポート:22
イメージ説明
イメージ説明
イメージ説明
イメージ説明

・経路情報
イメージ説明

全体の構成

イメージ説明

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • over

    2020/04/24 09:44

    1) PC1のインターネットへのGatewayはモバイルルータということでしょうか?
    2) 1)の場合、baffaloルータ → モバイルルータはNAT構成ですか?
    3) 1)2)を満たす場合、baffaloルータにもNAPTを実装する必要があります。

    キャンセル

  • melomelon

    2020/04/27 01:48

    over様
    ありがとうございます。今回は1)2)を満たします。buffaloルータはNAT構成にしていて192.168.11.6/22にポート変換の設定をしていて、外部からの接続はこのコンピュータにしかしないのですが、この場合もNAPTにする必要があるのでしょうか?

    キャンセル

  • over

    2020/04/27 09:12

    > buffaloルータはNAT構成にしていて192.168.11.6/22にポート変換の設定をしていて
    上記がNAPTに該当します。
    他ご回答者様との回答追い切れていないので、すべて把握しているわけではないですが、いろいろとおかしな点がみつかります。
    1)
    > 192.168.11.6/22
    maskを22にしているのは意図的ですか?(本件の障害とは関係ないとは思いますが)

    2)モバイルルータの「Global.ip.1」とBaffaloルータのWANのIPは何故同一なのでしょうか。

    3)PC4から②PING 192.168.11.6 はNAT構成であれば応答があるはずもないのですが、何を確認されたいのでしょう。
    NAT構成でNAPTしているのであれば、BaffaloのWAN IPに対してアプローチすべきと考えます。

    キャンセル

回答 4

+1

#/etc/iptables/rules.v4
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT is (ip adress) -p tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

というふうにiptablesはOUTPUTは基本的にACCEPTしてください。

2020/04/27 追記
私の環境では以下の設定項目がありました。ご参考まで。
ルーター設定

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/04/27 01:44

    回答にスクリーンショットを追記しました

    キャンセル

  • 2020/04/27 02:08

    ありがとうございます。
    多分ですが、buffaloルータの経路情報に近いのかなと思いました。
    質問にスクリーンショット載せました。説明欄には
    「データを送信する経路を決定するルールの設定を行います。」
    とありました。

    キャンセル

  • 2020/04/27 02:19

    これだと思います。バッファローのサポセンに問い合わせて見るべきかと思いましたがGWでやってないかもしれませんね。

    キャンセル

+1

問題点の切り分けの情報が不足しているかと思います。

  • サーバのルーティングがどうか  
    念のためですが、外部通信用の設定がどうなっているか。具体的にはサーバ上でのip rouの出力です。  
    ※グローバルなアドレスが絡むなら適宜フェイクをかけてください
  • バッファロールータの影響  
    上と絡みますが、中間にある「バッファロールータ」の影響が読めません。ルーティングや通信のフィルタの設定はどうなってるでしょうか。
  • モバイルルータを超えて通信が来ているか  
    これができていないとサーバではどうしようもありません。できればサーバ上で、tcpdump/wireshark等でパケットキャプチャして、通信状況を見た方が良いです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/04/18 15:53

    angel_p_57様
    ありがとうございます。ip rouとtcpdumpを試してみました(結果を上に記載しました)が、私にはこれが読み取れず。。。
    少し調べてみます。

    キャンセル

  • 2020/04/18 16:52

    "ip rou"の出力でも分かることがあります。
    まず、サーバのデフォルトゲートウェイがバッファロールータということは、少なくともモバイルルータ・バッファロールータ間は別ネットワーク ( サブネット ) ということになります。
    おそらく、モバイルルータから、( バッファロールータの向こうとなる ) サーバの 192.168.11.6 が認識できません。
    モバイルルータのWAN側がGlobalIP1だとして、LAN側のアドレスはどうなっているか。モバイルルータ・バッファロールータ間のネットワークアドレスをどうしているか。その情報が必要になります。
    バッファロールータでNATが働いているとしたら、話はさらにややこしくなります。
    ※典型的には、バッファロールータをルータとして動作させない構成が一般的なような気がします。すなわち、単なるスイッチとして使い、サーバのデフォルトゲートウェイはモバイルルータのLAN側IPに設定するというような。

    キャンセル

  • 2020/04/18 17:00

    tcpdumpコマンドを実行する場合はroot権限が必要です。
    色々細かい使い方があるのですが、慣れていないのなら、通信データをファイルに保存して、そのファイルをWindows機に持ってきて、別途wiresharkをインストールした上で分析した方が楽です。
    コマンドとしては、

    tcpdump -i enp3s0 -w ファイル ← 全通信を取る場合
    tcpdump -i enp3s0 -w ファイル tcp port 22 ← ポート22番 ( SSH ) 関連に限定する場合

    放っておくとずっとファイルへデータを書き込み続けるので、適度なところでCtrl-Cで終了させます。

    キャンセル

  • 2020/04/22 19:51

    すみません、遅くなりました。

    ありがとうございます。
    確認してみたところ、仰っるとおりモバイルルータからサーバが認識出来ていないようでした。
    tcpdumpはroot権限でしたね、出力結果を更新しました。

    なるほど、中間はルータとしては使わないのが一般的なのですね、勉強になります。
    中間のバッファロールータですが、モバイルルータを直接サーバにつなげると、ハードウェアとの対応の関係と思われますが、インターネットを認識しませんでした(ブリッジモード同様)。

    外部からのGlobal.ip.1へのPINGが飛ばないのは、サーバと関係があるのでしょうか。

    キャンセル

+1

まずは最小構成にして問題の切り分けからかなと思います。
(一般的に多段ルーターの状態は色々と大変なので、Buffaloのルータを挟んでいる強い理由が無ければ外してしまうことをお勧めします)

wx06とPC1の設定の確認

  1. まずはwx06-PC1(か、別に用意した適当なSSHを受けれるサーバ)を直結する
  2. PC1のIPは192.168.179.2/24に設定するか、DHCPにしてwx06側のポート変換をDHCPに合わせて変更する
  3. その状態で外部からsshが通ることを確認する
    →通らなかったらwx06かPC1、もしくは確認に使用しているインターネットの問題であることが確定するので、それぞれを確認(確認用回線は変更してみる)して外部からのSSH接続が出来るところまでをまずは目指す

Buffaloルータの設定の確認

  1. PC4とBuffaloのルータのWANポートをクロスケーブルで直結するかスイッチングハブでつなぐ
  2. 同じサブネットに所属させる
    例 PC4のIPを192.168.170.100/24 BuffaloルータのWANポートを192.168.170.2/24に固定(/24は勘なので、wx06のサブネットを確認して合わせてください)
  3. BuffaloルータのLANポートにPC1を接続する(wx06の設定確認の際にIPを変更しているなら質問時の状態に戻す)
  4. Buffaloのポート変換を設定する(質問時の状態でOK)
  5. PC4から192.168.180.101:22宛でPC1のSSHにつながることを確認する
    →通らなかったらPC4かBuffaloの設定がおかしいので、つながるまで頑張る

上記の確認が両方できたら

質問時の構成に戻して外部からのssh接続が出来ることを確認する。
上記確認中に発見した修正箇所は適用する。

それでもだめなら

buffaloのルータを外す方向で構成を考えなおす。

単純にbuffaloのルータをただのスイッチングハブに変更するだけでも困らないんじゃないかなと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/04/27 01:53

    tanat様
    ありがとうございます。
    なぜ間にbuffaloを挟んでいるかというと、モバイルルータの有線接続をPC1が認識しないという問題がありました。問い合わせたところ、OSとの対応はしているのですが、ハードウェアに対応していないかもしれないとのことで、間にbuffaloを挟む形となりました。buffaloを通すことでインターネットを認識する状態です。試しにスイッチングハブにしたのですが、それもインターネットに繋がらず。。。という感じです。

    キャンセル

  • 2020/04/27 02:34 編集

    > OSとの対応はしているのですが、ハードウェアに対応していないかもしれないとのことで

    今時、そんなことはほぼ確実にあり得ないので、
    (あるとしたらクロスケーブルとストレートケーブルを間違っている場合や、超古いCAT3ケーブルを使っている様なケースくらい。wx06のサポートがubuntuのサポートを正確にしてくれるとは思えないので、適当なサポートをされたと予想します)
    PC1のNICの設定かwx06の設定が間違っている可能性を疑った方が良いです。

    まずは、PC1とクレードルを直結orスイッチングハブ経由でインターネットに接続することを目標にすることをお勧めします。

    0. 接続した時にLANポートのランプが光ることを確認する
    1. wx06及び‘PC1のNICを初期化する
    2. PC1のNICのIPをDHCPで自動取得にしてネットワークを再起動
    3. 2でインターネットにつながらなければ 192.168.179.2/24に設定
    4. インターネットへの接続確認は ping 8.8.8.8 等の名前解決を必要としないIPへのpingで確認する
    5. 4で繋がらなかったら、PC1 で ping 192.168.179.1 の結果と、同じくPC1で sudo ip a の結果を追記して下さい

    キャンセル

0

モバイルWifiであるなら、外部から接続というのは不可能です。
光回線とかで、グローバルIPが割り振られる回線を使わないとダメです

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2020/04/18 13:00

    y_waiwai様
    ありがとうございます。
    モバイルwifiにグローバルIPアドレス(動的ですが一時的に固定しています)が割り振られる契約にしています。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.34%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る