Raspberry Piの外部からppp0インターフェイス(4Gモデム)へのSSH接続の問題(タイムアウト)[閉じる]

Raspberry Piの外部からppp0インターフェイス(4Gモデム)へのSSH接続の問題(タイムアウト)[閉じる]

USB 4Gモデムをインターフェイスとして使用するRaspberry Piへの外部SSH接続の確立に問題があります。 SSHを使用して接続しようとするとタイムアウトが発生します。

ssh -l pi ccc.ccc.ccc.ccc -p 22
ssh_exchange_identification: read: Operation timed out

インターフェイスは明らかにppp0で、外部からpingできる正しいIPアドレスを持っています。以下はifconfigのリストです(IPアドレスが難読化されています)。

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
    inet ccc.ccc.ccc.ccc  netmask 255.255.255.255  destination 10.64.64.64
    ppp  txqueuelen 3  (Point-to-Point Protocol)
    RX packets 401  bytes 377702 (368.8 KiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 336  bytes 27694 (27.0 KiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

他のコンピュータのpingは正常に動作しますが、sshは機能せずタイムアウトします。 tcpdumps を使用してインターフェイスを監視すると、SSH クライアントに接続したときにいくつかの寿命が表示されます。

sudo tcpdump -i ppp0 port 22 
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
09:18:26.764806 IP yyy.yyy.yyy.yyy.53681 > ccc.ccc.ccc.ccc.ssh: Flags [S], seq 2675400197, win 65535, options [mss 1386,nop,wscale 5,nop,nop,TS val 672664602 ecr 0,sackOK,eol], length 0

それ以降は命がなく、/var/log/authにログやメッセージもなく、何もありません。 sshd ログ・レベルが DEBUG3 に設定されました。

SSHD設定ファイルは次のとおりです。

Port 22 
Port 7654
AddressFamily any
ListenAddress 0.0.0.0
#ListenAddress ::


# Ciphers and keying
#RekeyLimit default none

# Logging
SyslogFacility AUTH
LogLevel DEBUG3

私のISPなどで22回がブロックされた場合に備えて、あいまいなポート7654を追加してみました。

一般ポリシーが「承認」に設定されていますが、特定のファイアウォールルールを追加してみました。

Chain INPUT (policy ACCEPT) 
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh ctstate NEW,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:7654 ctstate NEW,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:ssh ctstate ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:7654 ctstate ESTABLISHED

ルーティングテーブルは次のとおりです。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.64.64.64     0.0.0.0         UG    0      0        0 ppp0
10.64.64.64     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
bbb.bbb.bbb.0    0.0.0.0         255.255.252.0   U     202    0        0 eth0

対応するbbbはローカルイーサネットです。

運が悪い。接続しようとすると、タイムアウトが発生します。 localhostからこのIPアドレスへのSSHは正常に機能します。

何が間違っていて、どのように解決できるかについてのアイデアはありますか?混乱しても、少なくともインターフェイスに送信されたICMPメッセージを受信し、内部SSHも機能します。外部的にも外部からSSHを使用して接続する場合、インターフェイスはまだ少しの寿命を持っていますが、まだ動作しません。

ベストアンサー1

問題はルーティングにあります。実験を終了し、ラズベリーのイーサネットケーブルを接続すると、動作が始まりました。幸いなことに、最後のログインを試みました。問題がラズベリー側にあるのか、それともテストに使用しているコンピュータにあるのかわかりません。テストマシンはイーサネットを介して同じラズベリーに接続されており、応答パケットはppp接続ではなくイーサネットを介して送信されると考えられています。これにより、パケットが到着すると、テストマシンで明らかに拒否されます。

おすすめ記事