LANケーブルだけでraspberry pi 3のセットアップ(ubuntu編)
概要
local network(?)でsshを行うやり方を知ったのでまとめる。(友達からオススメされた)
構成図
こんな感じ(モニターとかキャプチャーカードとかいらないです。)
やり方
①事前に基本的な作業を済ましておく
SDカードにイメージを焼いておくなどです。
②インターネット共有設定を行う
以下のコマンドで設定windowを開きます。
~$ nm-connection-editor
こんなやつが出てきます。
IPv4タグにある設定を以下のように変更
IPv6タグにある設定を以下のように変更
③PC側にarp-scanをインストール
arp-scanは、同一Network内で使用されているIP/MACアドレスの一覧を取得するコマンド。
~$ sudo apt-get install arp-scan
④arp-scanを使って検索
arp-scanを使用する前にNIC(ネットワーク・インターフェイス)を調べる必要が有ります。
ikebe@ikebe:~$ sudo arp-scan -l -I enp0s31f6 Interface: enp1s31f6, datalink type: EN10MB (Ethernet) Starting arp-scan 1.9 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/) 10.43.4.390 b1:22:eb:42:3d:14 Raspberry Pi Foundation
⑤検索したIPを使ってssh
検索して得られた10.43.4.390を使用します。(sudo sshではなくてsshで良い)
⑥Host PC経由のネットを使って、git clone & sudo apt
raspi側でgit colone
やapt
以外の時にネットを使用しない場合、Host PC経由で
ネット使えるようにしたいですよね。
しかし、git clone
では、何もしないと以下のようなエラーが出てきます。
~$ server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
対策方法として以下のコマンドを実行します。
そうするとgit clone
できるようになります。
~$ export GIT_SSL_NO_VERIFY=1
また、apt
では時刻の関連の以下のようなエラーが出てきます。
E: Release file for http://ports.ubuntu.com/ubuntu-ports/dists/bionic-updates/InRelease is not valid yet (invalid for another 298d 7h 47min 4s). Updates for this repository will not be applied. E: Release file for http://ports.ubuntu.com/ubuntu-ports/dists/bionic-backports/InRelease is not valid yet (invalid for another 298d 7h 48min 6s). Updates for this repository will not be applied. E: Release file for http://ports.ubuntu.com/ubuntu-ports/dists/bionic-security/InRelease is not valid yet (invalid for another 298d 7h 46min 14s). Updates for this repository will not be applied.
なので、時間を日本の現在時間にそろえる必要があります。
そうすると、sudo apt
の実行が可能になります。
~$ sudo timedatectl set-timezone Asia/Tokyo ~$ date -s "1/1 00:00 2021" ←1分以内の誤差内で各自調整。
sudo apt update後、インターネット時刻を使用してしっかり時刻を設定。
まとめ
革命だ!(LANケーブル最高!)
番外編
問題発生
現在以上の操作をwlan0などの設定がされているときに行った場合、sudo apt-get updateができないなどの
問題が起こっている。DNS周りの設定に問題が生じているとみて捜査を進めている。
問題解決
以下問題だったエラー文
Err:1 http://ports.ubuntu.com/ubuntu-ports xenial InRelease Temporary failure resolving 'proxy-server' Err:2 http://ports.ubuntu.com/ubuntu-ports xenial-updates InRelease Temporary failure resolving 'proxy-server' Err:3 http://packages.ros.org/ros/ubuntu xenial InRelease Temporary failure resolving 'proxy-server' Err:4 http://ports.ubuntu.com/ubuntu-ports xenial-backports InRelease Temporary failure resolving 'proxy-server' Err:5 http://ports.ubuntu.com/ubuntu-ports xenial-security InRelease Temporary failure resolving 'proxy-server' Reading package lists... Done W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/xenial/InRelease Temporary failure resolving 'proxy-server' W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/xenial-updates/InRelease Temporary failure resolving 'proxy-server' W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/xenial-backports/InRelease Temporary failure resolving 'proxy-server' W: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/xenial-security/InRelease Temporary failure resolving 'proxy-server' W: Failed to fetch http://packages.ros.org/ros/ubuntu/dists/xenial/InRelease Temporary failure resolving 'proxy-server' W: Some index files failed to download. They have been ignored, or old ones used instead.
図で表すと、こんな感じ
日本語怪しいかもしれませんが、、、。
別々SSIDでeth0とwlan0を使用していて、かつそれぞれに優先順位が割り振られてない状態で パケットのやり取りを行うと、どっちからもらうの?問題が発生する。(多分)
同じSSID内であれば、問題ない。(多分)
今回はエラーの中で名前解決できない
とか言われていたのでDNSの何かと思い設定をいじり
またはproxy-server
が解決しないとか言われてproxyの設定をしなければならないのかと
色々やったが、ルーティングテーブルというものをいじることで解決した。(色々やったな、、、)
とりあえず、上記のエラーが出た場合の対処法を書く。(合っているかは知らない、、、。)
①proxyの設定がどこかに書かれていないかを探す(あるとproxyのことばかり考えるらしいので)
以下のコマンドで確認
~$ printenv http_proxy https_proxy
後は.bashrc
に書かれていないか見る
最後にproxyの設定があるか/etc/apt/apt.conf
を見る(あったら削除)
~$ sudo cat /etc/apt/apt.conf
あと/etc/environment
も見る
~$ sudo cat /etc/environment
なければOK
②routeコマンドでルーティングテーブルの表示
~$ route
routeが使えない場合はnetstat -r
~$ cat /proc/net/route
で、metricの確認が可能(常に書き込みが発生しているファイルである、なので書き換えてもすぐに変わる)
③ipコマンドでルーティングテーブルの修正
以下のコマンドで、問題になってそうなやつを削除
~$ sudo ip r delete 192.168.22.0/255.255.255.0
削除したやつをいい感じに再設定しなおす
~$ sudo ip r add 192.168.22.0/255.255.255.0 metric 100 via 0.0.0.0 dev wlan0
なんかできるようになった、、、。(また戦うことになるぞ、、、、)