#はじめに
古いMacMiniをUbuntu20.04を入れて使っていたのはよいが、wlanが使えないことに気づいていろいろ探し始めると、いじっているうちに使えるようになった。複数のIFをNETPLANに定義することで、default routeの設定などが気になりだし、DNS設定もいい加減だな〜せっかくだから昔から使っているOpenDNSをちゃんと使ってみようと思いました。リモートサイトにあるサーバなどに気になることが出てきたとき、クラウドのダッシュボードから確認できるということが便利だということを改めて認識。
##WIFIは適当に・・・
sudo modprobe brcmfmac
sudo apt-get install firmware-b43-installer ;
sudo dpkg -i b43-fwcutter* ;
sudo dpkg -i firmware-b43-installer* ;
このあたりのコマンドをたたいているうちにGUIにWifiのマークが出てきた!
Broadcomのチップを認識できていなかった模様。Firmwareが必要だったということ。
ちなみにこの過程で
sudo apt update
sudo apt upgrade
を繰り返していると、いつの間にかUbuntuが21.10にバージョンアップされていた。
##ついでにUbuntu 21.10にアップグレード
アップグレードにはほぼ一晩放置で完了。
※ちなみにdo-release-upgradeやそれに相当するヘビーなアップグレード作業はSSHなどではいらず、キーボードとディスプレイをつないでやった方がよいですよ。途中でコントロールを失って(キーボードが効かなくなるなど)何度もやり直す羽目になりました。
その結果が下↓
ubuntu:~$ hostnamectl
Operating System: Ubuntu 21.10
Kernel: Linux 5.13.0-27-generic
Architecture: x86-64
Hardware Vendor: Apple Inc.
Hardware Model: Macmini6,1
ubuntu:~$ sudo lshw -C cpu
*-cpu:0
詳細: CPU
製品: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
ベンダー: Intel Corp.
物理ID: 0
バス情報: cpu@0
バージョン: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
スロット: U2E1
サイズ: 2167MHz
容量: 3100MHz
幅: 64 bits
クロック: 25MHz
性能: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge
*-cpu:1
・・・
*-cpu:3
詳細: CPU
ベンダー: Intel(R) Corporation
物理ID: f
バス情報: cpu@3
バージョン: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
スロット: U2E1
サイズ: 1464MHz
容量: 3100MHz
クロック: 25MHz
性能: cpufreq
ubuntu:~$
CPUが4つのIntel Core i5のパソコンであることを確認(笑)
sudo lshw -C network コマンドの結果
*-network
詳細: 無線インターフェース
製品: BCM4331 802.11a/b/g/n
ベンダー: Broadcom Inc. and subsidiaries
物理ID: 0
バス情報: pci@0000:02:00.0
論理名: wlp2s0
バージョン: 02
シリアル: a8:86:dd:a1:9c:45
幅: 64 bits
クロック: 33MHz
性能: pm msi pciexpress bus_master cap_list ____________
WLAN用のPCIで使われているのはBroadcomのBCM4331というチップらしい。先ほどのfirmware-b43-installerというのがそういうことだったのだろう。
#NetplanでI/Fと固定IPアドレスを指定
ubuntu:/etc/netplan$ sudo netplan apply
** (generate:27438): WARNING **: 23:43:41.116: `gateway4` has been deprecated, use default routes instead.
See the 'Default routes' section of the documentation for more details.
** (generate:27438): WARNING **: 23:43:41.117: Problem encountered while validating default route consistency.Please set up multiple routing tables and use `routing-policy` instead.
Error: Conflicting default route declarations for IPv4 (table: main, metric: default), first declared in enp1s0f0 but also in enp1s0f0
いろいろ文句を言われたけれども、原因はgateway4という宣言は古いからもう使わないでね、ということのようで、以下のように修正するとするーっと通過して設定が完了。
ちなみに99-manual.yamlというファイルはインストーラーに入力された情報を元に作成されたもの、らしい。
wifis以下を追加し gateway4 という宣言をroutes宣言に変更した。
ubuntu:/etc/netplan$cat 99-manual.yaml
#
network:
ethernets:
enp1s0f0:
addresses: [192.168.0.9/24]
nameservers:
search: []
addresses: [208.67.222.222, 208.67.220.220, 8.8.8.8]
routes:
- to: default
via: 192.168.10.1
optional: false
wifis:
wlp2s0:
addresses: [192.168.0.8/24]
nameservers:
addresses: [208.67.222.222, 208.67.220.220]
access-points:
"SSID-NAME":
password: "passwd"
optional: true
version: 2
ubuntu:/etc/netplan$
##そしてOpenDNS
ちなみに208.67.222.222, 208.67.220.220という2つのNameServerのアドレスはOpenDNSのものを使っています。OpenDNSは、それほど遠くない昔(2015)にCiscoに買収されましたが、それ以前は広告収入モデルのDNSサービスからスタートした企業だったようです。今でもFreeで使えるDNSサービスに加え、疑わしいサイトをブロックしてくれるオプションが提供されています。個人で使うのは登録だけでOKです。私は10年以上前からサービスを使ったり(使わなかったり)しています。(ずっと無料のまま今までお金を払ったことはありません。)ちなみにこれはシスコブランドで展開されているUmbrellaという企業向けサービスとは別物です。(NameServerのアドレスは同じですが・・・)
http://opendns.com
登録すると何がよいかというと・・・
図のようなダッシュボードで何件のDNSリクエストが送られてきたとか、リクエストに怪しいドメインや不適切(暴力や反社会的など)なドメインが含まれていないか、を見てフィルターしてくれたりするサービスが使えるようになります。Ciscoでは企業向けに(さらにたくさんの機能を拡張した)サービスをUmbrellaという名前で提供しています。
フィルタリングのポリシーやブロックするなんてこともできます。
でも、なぜそれが私のいえからのリクエストかわかるかというと、送信元のIPアドレスを三手なのですが、我が家も含めダイナミックIPでころころグローバルIPが変わります。でもご安心を。DDCLIENTなどのツールをサポートしていますので、自動的にIPアドレスを通知することで常に有効なサービスを受けることができます。
この辺は以前紹介したMyDNSと似ていますね。
私は自宅のUbuntuにDDCLIENTをインストールして以下のCONFIGを入れて、自宅とリモートの2カ所で運用しています。(OpenDNSの無料アカウントは2カ所まで)
##
## OpenDNS.com account-configuration
##
protocol=dyndns2
use=web, web=myip.dnsomatic.com
ssl=yes
server=updates.opendns.com
login=opendns_username
password='opendns_password'
opendns_network_label
出典:https://support.opendns.com/hc/en-us/articles/227987727-Linux-IP-Updater-for-Dynamic-Networks
ubuntu:~$ sudo systemctl status ddclient
ddclient.service - Update dynamic domain name service entries
Loaded: loaded (/lib/systemd/system/ddclient.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2022-01-29 09:01:57 JST; 37min ago
Docs: man:ddclient(8)
Process: 42443 ExecStart=/usr/sbin/ddclient -daemon $daemon_interval -syslog -pid /run/ddclient.pid (code=exited>
...
Jan 29 09:01:59 ubuntu ddclient[42446]: SUCCESS: updating ubuntu: good: IP address s
成功すると上のようなレスポンスが返ってきます。さいごのSUCCESSというのが重要。
##Disclosure
私は2022年1月現在Ciscoの社員です、が本記事並びに他の投稿も含めてすべて私個人の見解や意見を述べたもので私の属する会社の方針や公式見解となどとは一切無関係です。