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

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

新規登録して質問してみよう
ただいま回答率
85.50%
firewalld

firewalldは、CentOS7からデフォルトになったパケットフィルタリングです。一時的なルールと永続的なルールが設定でき、通信の許可・拒否をコントロール。バージョン6まで利用されてきた「iptables」における課題をカバーしています。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

解決済

2回答

4765閲覧

ラズパイに外部アクセスできない

tommyfms2

総合スコア10

firewalld

firewalldは、CentOS7からデフォルトになったパケットフィルタリングです。一時的なルールと永続的なルールが設定でき、通信の許可・拒否をコントロール。バージョン6まで利用されてきた「iptables」における課題をカバーしています。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

0クリップ

投稿2018/10/02 03:25

編集2018/10/02 05:04

Ubuntuにはできるがラズパイにできない.

普段,家のUbuntuマシンに外部アクセス(ssh)することがあるのですが,同様なことを最近購入したラズパイでも行いたいのです.
しかし,ルータのポートマッピングの設定,そしてsshd_configでの秘密鍵やポート指定などの設定は同様に行ったのにもかかわらず,外部アクすることができません.

ちなみに,ローカルからは両者ともにsshでアクセスできます.

私としては,もうどこに違いがあるのかもよくわからないので,ご教授いただければ幸いです.
少しでも気になる事があればコメントいただけるとありがたいです.

よろしくおねがいします.

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

タイムアウトが発生します.
USERNAME, PORTなどの大文字は値を置き換えたものです.

$ ssh USERNAME@GLOBALIP -p PORT -vvv OpenSSH_7.6p1, LibreSSL 2.6.2 debug1: Reading configuration data /Users/MACUSERNAME/.ssh/config debug1: Reading configuration data /etc/MACUSERNAME/ssh_config debug1: /etc/ssh/ssh_config line 48: Applying options for * debug2: ssh_connect_direct: needpriv 0 debug1: Connecting to GLOBALIP port PORT. ssh: connect to host GLOBALIP port PORT: Operation timed out

試したこと

意味があるかわかりませんが,ローカルでsshしてss -atnした結果です.
こちらではwell known以外のポートの値は一応変えてます.

ラズパイ

USERNAME@raspberrypi:~ $ ss -atn State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:10100 *:* LISTEN 0 128 127.0.0.1:52698 *:* ESTAB 0 140 192.168.0.10:10100 192.168.0.2:52592 LISTEN 0 128 :::10100 :::* LISTEN 0 128 ::1:52698 :::*

Ubuntu

username@ubuntu-System:~$ ss -atn State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:10500 *:* LISTEN 0 5 127.0.1.1:53 *:* LISTEN 0 5 127.0.0.1:631 *:* LISTEN 0 128 127.0.0.1:52698 *:* ESTAB 0 0 192.168.0.30:10500 192.168.0.2:54645 LISTEN 0 128 :::10500 :::* LISTEN 0 5 ::1:631 :::* LISTEN 0 128 ::1:52698 :::*

ポートマッピングの設定

ポートマッピングですが,以下のようにUbuntuとラズパイを同様に設定しています.IPアドレスやポートの衝突は起きない数値になっています.
ラズパイ用

LAN側ホスト:192.168.0.10 プロトコル:TCP ポート番号:10100-10100 優先度:1

Ubuntu用

LAN側ホスト:192.168.0.30 プロトコル:TCP ポート番号:10500-10500 優先度:2

という設定になっています.
下の設定のUbuntuでは外部からアクセスできるのですが,上ではできません.

---※追記したらteratailでなぜか改行が効かなくなってしまいました.見にくくなってしまったかもしれませんがよろしくおねがいします.

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2018/10/02 03:31

ローカルからはSSH接続できるんでしょうか
tommyfms2

2018/10/02 04:11

ローカルからはともにSSH接続できます.
y_waiwai

2018/10/02 04:25

ルータのポートフォワーディングの設定がおかしい、ということでしょうけど、そこらへんの情報を提示できますか
guest

回答2

0

似たような質問 が有り、それに書いた事のほぼ丸写しですが……

まずはどの部分に問題が有るかを切り分ける為、tcpdump を使って Raspberry Pi までパケットが届いているかを確認してください。

tcpdump -n -i {インタフェース名} host {インターネット上のホストのIPアドレス}

tcpdump を実行中にインターネット上のホストから ssh を実行し、パケットが Raspberry Pi まで届いているかを確認します。

パケットが届いていない場合はルータまでに問題が有りますので、

  • ルータの設定を再度見直す
  • ルータを再起動してみる
  • インターネット上のホスト側で接続できるポートに制限がかけられていないか確認する

などを確認してみてください。

Raspberry Pi まで届いている場合は、そのパケットがどうなっているかを確認します。

  1. 外部からパケットが来るだけで Raspberry Pi が応答していない
  2. 外部からのパケットに対し、Raspberry Pi は RST を返している
  3. 外部からのSYNパケットに対し、Raspberry Pi は SYN+ACK パケットを返している
  4. その他

上記のどれに当てはまるかを確認し、それによって怪しい部分を絞り込みます。

投稿2018/10/03 04:01

doda

総合スコア947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tommyfms2

2018/10/05 09:07

1のようでした. しかし,その後どのようにすればいいのでしょうか.いろいろ調べたのですがうまくいきません. 例えば,sysctlでnet.ipv4.tcp_timestamps = 0にするとの記事があったのですが変わらないです.. 後は,ファイアウォールの問題な気がしたので,iptablesとufwは停止してますが,これもだめでした.
wwbQzhMkhhgEmhU

2018/10/07 04:26

ubuntuにアクセスできている時点で現実的にはルーターの設定くらいしかないと思います。 今の情報で何かこれ以上の回答を求めるのは無理かと思います。
wwbQzhMkhhgEmhU

2018/10/07 04:37

あ、あとルーターでないなら、ラズパイとやらの問題で、iptables/ufw以外では、TCP wrapper(使っていれば)かsshd_configのIP制限くらいかと。
wwbQzhMkhhgEmhU

2018/10/07 04:44

あと、グローバル側のポート番号の設定がないけど、これ大丈夫?
doda

2018/10/10 10:34

1 だとするとファイアウォールの問題の可能性が高いですね。後はあまり無いでしょうけれど、ルーティングがおかしいとか。 外部からのアクセスを試している時にラズパイ側で ss -atn を実行して、以下のような LISTENやESTABではないソケットが表示されますか? SYN-SENT 0 140 192.168.0.10:10100 198.51.100.2:54321
tommyfms2

2018/10/21 13:55

表示されないです.以下のようになりました. State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:10100 *:* LISTEN 0 128 *:10100 :::* の2つだけです.
guest

0

自己解決

自己解決しました.

原因は固定IPの設定ミスのようでした.

$ sudo nano /etc/dhcpcd.conf interface wlan0 #ここをコメントアウトしていた static ip_address=192.168.0.10/24 static routers=192.168.0.1 #ここをコメントアウトしていた

固定IP設定の際に,ip_addressのコメントアウトを外し設定したのですが,同時にinterfacestatic routersも設定しなければいけないようでした.

なぜローカルからのsshやaptcurl https://www.google.comが出来たのかに関してはわかりません.
腑に落ちない箇所はありますが,当問題に関しては解決できました.

投稿2018/10/27 04:22

tommyfms2

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問