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接続ではなくイーサネットを介して送信されると考えられています。これにより、パケットが到着すると、テストマシンで明らかに拒否されます。