Let's encryptのIPアドレス
インターネット上にWebサーバを立てているのだが、
httpポート(80)はろくでもないものしかアクセスしてこないので
ポートを閉じたいのだが、Let's encryptを使っているため開けざるを得ない。
証明書を発行する際にLet's encryptはポート80でアクセスするためである。
なお、Let's encryptのIPアドレスは、非公開。確定していないらしい。
webのアクセスログから調べる
$ grep www.letsencrypt.org access_log 35.93.42.184 - - [11/Jan/2024:15:22:21 +0900] "GET /.well-known/acme-challenge/... 3.145.87.148 - - [11/Jan/2024:15:22:22 +0900] "GET /.well-known/acme-challenge/... 23.178.112.103 - - [11/Jan/2024:15:22:22 +0900] "GET /.well-known/acme-challenge/ ...
CMANで調べてみる
URL=https://www.cman.jp/network/support/go_ip.cgi
35.93.42.184 ec2-35-93-42-184.us-west-2.compute.amazonaws.com 3.145.87.148 ec2-3-145-87-148.us-east-2.compute.amazonaws.com 23.178.112.103 outbound1d.letsencrypt.org
どうやらus-east2 amazon、us-west2とInternet Security Research Groupがあるようである
outbound**.letsencrypt.orgは以下が登録されている
outbound1a.letsencrypt.org to outbound1j.letsencrypt.org
outbound2a.letsencrypt.org to outbound2j.letsencrypt.org
curl "https://ip-ranges.amazonaws.com/ip-ranges.json" |jq -r '.prefixes[] | select(.region=="us-east-2") | select(.service=="EC2") | .ip_prefix' | sort
記事もあった、でも足りない、上の方法で列挙するしかないようである
https://community.letsencrypt.org/t/lets-encrypt-cidrs/200993
IP Address 3.138.245.232 Resolve Host ec2-3-138-245-232.us-east-2.compute.amazonaws.com NetRange: 3.128.0.0 - 3.255.255.255 CIDR: 3.128.0.0/9 IP Address 23.178.112.208 Resolve Host outbound2i.letsencrypt.org NetRange: 23.178.112.0 - 23.178.112.255 CIDR: 23.178.112.0/24 IP Address 34.220.184.113 Resolve Host ec2-34-220-184-113.us-west-2.compute.amazonaws.com NetRange: 34.192.0.0 - 34.255.255.255 CIDR: 34.192.0.0/10 Resolve Host ec2-54-71-105-36.us-west-2.compute.amazonaws.com IP Address 54.71.105.36 NetRange: 54.64.0.0 - 54.95.255.255 CIDR: 54.64.0.0/11 Resolve Host ec2-3-138-245-232.us-east-2.compute.amazonaws.com IP Address 3.138.245.232 NetRange: 3.128.0.0 - 3.255.255.255 CIDR: 3.128.0.0/9 Resolve Host outbound2d.letsencrypt.org IP Address 23.178.112.203 NetRange: 23.178.112.0 - 23.178.112.255 CIDR: 23.178.112.0/24 Resolve Host outbound1c.letsencrypt.org IP Address 23.178.112.102 NetRange: 23.178.112.0 - 23.178.112.255 CIDR: 23.178.112.0/24 Resolve Host ec2-34-220-184-113.us-west-2.compute.amazonaws.com IP Address 34.220.184.113 NetRange: 34.192.0.0 - 34.255.255.255 CIDR: 34.192.0.0/10
Lenovo X250でMacを動かす
Lenovo X250でMacを動かす
準備するもの
・USBメモリ 16GB以上
・USBメモリをフォーマット、ファイルコピーできるMAC
私はMacを持っていないのでVMware Player で動くMacでフォーマットやファイル転送しました。
以下のファイルを探して解凍してインストールします。
・VMware-player-full-16.2.5-20904516.exe
・MK-unlocker.zip
・macOS Catalina Final by Geekrar.rar
MK-unlocker.zipは VMware-playerをMac対応にするパッチ
・フォーマットしてかまわないX250
必要なファイル
1)Catalina のOSイメージ dmg または Big SurのOSイメージ dmg
2)OpenCore-0.8.6-RELEASE.zip
3)X250用のOpenCoreファイル
1)はググって探してダウンロードしておきます。
2)は以下のサイト、zipダウンロードしておきます。 https://github.com/acidanthera/OpenCorePkg/releases/
OpenCore-0.8.6-RELEASE.zip
ディレクトリは以下の構造になっています。
OpenCore-0.8.6-RELEASE.zip
Boot--+ +-BOOTx64.efi OC---+ +-ACPI------+ | +-Bootstrap-+ | +-Drivers---+ | +-Kexts-----+ | +-Resources-+ | +-Tools-----+ | +-OpenCore.efi | +-config.plist
EFIパーティションのEFIフォルダの下にこの形で置くようです。
3)は以下のサイト、zipダウンロードしておきます。
https://github.com/dimka4996/Thinkpad-x250-Catalina-Big-sur-opencore/
Thinkpad-x250-Catalina-Big-sur-opencore.zip
このzipの中にALCPlugFix.zipがあります。
Audioに問題があって解凍して中のファイルを実行してパッチを当てるようです。
それ以外にも、Big Sur用のOpenCoreファイルをまとめている人がいるのですが、とりあえず上記のファイルで構築します。 https://github.com/zamprjkt/Lenovo-Thinkpad-X250-Hackintosh-Opencore
手順1)X250のBIOSの設定
Security -> Security Chip: Disabled Memory Protection -> Execution Prevention: Enabled Virtualization -> Intel Virtualization Technology: Enabled Internal Device Access -> Bottom Cover Tamper Detection: must be Disabled Anti-Theft -> Current Setting: Disabled Anti-Theft -> Computrace -> Current Setting: Disabled Secure Boot -> Secure Boot: Disabled UEFI/Legacy Boot: UEFI Only CSM Support: Yes
手順2)MacでUSBメモリをmacOSで使える形でフォーマットする
名前はなんでもいい、ここではMyVolumeにする
フォーマット、形式は以下の値にする
・MacOS拡張(ジャーナリング) ・GUIDパーティションマップ
するとUSBメモリには2つのパーティションができる。
1つはEFIというパーティション、これは自動でマウントしない隠しのパーティション。
2)MacでOSイメージをUSBメモリへ転送する
Catalinaの場合
$ sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
Big Surの場合
$ sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
MyVolumeはフォーマット時の設定したボリューム名
時間がかかる
完了したらUSBのボリュームがInstall macOS Catalina」「Install macOS Big Sur」という名前に変更されている
手順3)OpenCore.zipのファイル、X250用のファイルをUSBメモリのEFIパーティションに転送する
作業はVMwareWorkstatinPlayerの仮想VM上のMac(Catalina)で作業です。
$ sudo disktutil list /dev/disk3 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_schme *32.0 GB disk3 1: EFI EFI 209.7 MB disk3s1 2: Apple_HFS Install macOS Catalina 31.7 GB disk3s2
EFIをmountする
$ sudo diskutil mount /dev/disk3s1
EFIフォルダがマウントできたらOK
停止する
$ sudo shutdown -h now
VM Ware Workstation Playerの対象仮想OSを選び 仮想マシン設定のオプション:共有フォルダを 「常に有効」にしてフォルダ指定する。
Macを起動する
Vmware-toolsをインストールする
環境設定でセキュリティ設定を変更しておく、インストールが有効になるように
設定した共有フォルダを開く
Catalina.dmgをクリックしてローカルHDにインストールする
USBメモリを指して以下を実行
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
1時間ぐらいかかる
/dev/diskの番号が変わるので要注意
EFIをマウントする
$ sudo diskutil mount /dev/disk3s1
EFIの下は以下の構造にする
+-Boot-+ | +-BOOTx64.efi | +-OC---+ +-ACPI------+ | +-Bootstrap-+ | +-Drivers---+ | +-Kexts-----+ | +-Resources-+ | +-Tools-----+ | +-OpenCore.efi +-config.plist
$ cp -r $HOME/Opencore-0.8.6/X64/EFI /Volume/EFI/
/Volume/EFI/の下にEFIフォルダがある形になる。
/Volume/EFI | +-EFI | +-Boot-+ | +-OC---+ +-ACPI------+ | +-Bootstrap-+ | +-Drivers---+ | +-Kexts-----+ | +-Resources-+ | +-Tools-----+
X250用のOpenCoreファイルをOC(OpenCore)フォルダの下へコピーする
$ cp -r $HOME/Thinkpad-x250-Catalina-Big-sur-opencore/* /Volume/EFI/EFI/OC/
OpenCoreはロシア人が作ったため、デフォルトがロシア語になっている。
そのためインストーラがロシア語になっている。
OCフォルダにあるconfig.plistを修正する
修正する箇所は以下のところdataが言語+キーボードレイアウトのデータ
config.plist
<key>prev-lang:kbd</key> <data>cnUtUlU6MjUy</data>
ロシア語にデフォルトになっている
% echo “ru-RU:252” | tr -d ‘\n’| base64 cnUtUnU6MjUy
英語、USキーボードの場合は
<key>prev-lang:kbd</key> <data>ZW4tVVM6MA==</data>
日本語(US配列)の場合は、
% echo ja-JP:0 |tr -d ‘\n’|base64 amEtSlA6MA==
<key>prev-lang:kbd</key> <data>amEtSlA6MA==</data>
まとめると以下のドキュメントを参考
[Docs/Sample.plist] <key>csr-active-config</key> <data>AAAAAA==</data> <key>prev-lang:kbd</key> + <!-- For Russian locale and ABC keyboard --> <data>cnUtUlU6MjUy</data> + <!-- For English locale and US keyboard --> + <!-- + <data>ZW4tVVM6MA==</data> + --> + <!-- For Japanese locale and US keyboard --> + <!-- + <data>amEtSIA6MA==</data> + --> + <!-- For Japanese locale and KANA keyboard --> + <!-- + <data>amEtSlA6MTYzODQ=</data> + --> <key>run-efi-updater</key> <string>No</string> </dict>
USBブートメニューで
3) Reset NVRAM
を選ぶ、どうやらconfig.plistの内容が本体に反映される。
次に
2)Install
を選ぶ。 後はMacインストーラの画面が出るので適当に。 なおディスクフォーマットはAPFSにしないとインストール対象にならないらしい。
インストール中何回かリブートするが、USBメモリはそのままで、F12(Select Boot device)を押す必要もなく見守るだけ。
課題)3.5のイヤフォン時ホワイトノイズが発生する。
対策)Macインストール後、ALCPlugFix.zipを解凍して、install.shを実行する
参考) OpenCoreインストールガイド https://dortania.github.io/OpenCore-Install-Guide/
OpenCore対応のUSBメモリインストーラを作る。 https://gaddet.com/opencoreusb/
GitHubへソースをアップロードする操作メモ
準備)
Windows版gitをダウンロードしてインストールしておく
https://git-for-windows.github.io/
1)GitHubで使っているアカウントを設定する
$ git config --global user.name hogehoge
2)メールアドレスを設定する
$ git config --global user.email hogehoge@yahoo.co.jp
3)WebのGitHubからSettings->Developer Settings->Personal access tokens->Tokens(classic)で新しいTokenを発行し設定する
コマンドの形式
$ git config --global url.https://ユーザーネーム:入手したトークン@github.com/.insteadOf https://github.com/
トークンがghp_abcabcabc123の場合は以下のようになる
$ git config --global url.https://hogehoge:ghp_abcabcabc123@github.com/.insteadOf https://github.com/
4)このまま作業すると以下の警告が出るので設定する(改行のCRLFとLFの変換問題)
warning: in the working copy of '***.***', LF will be replaced by CRLF the next time Git touches it
$ git config --global core.autoCRLF false
5)ダウンロード、アップロードテストのフォルダを作る
$ mkdir temp
6)gitHub上に作っていたレポジトリをクローン(ローカルにコピーする)
$ git clone https://github.com/hogehoge/MyApp
7)クローンしたフォルダへ移動
$ cd MyApp
8)ソースファイルをいろいろ置いてみる
$ cp -r xxxxx .
.gitignoreがあることを確認する、もちろん中身も確認する(アップロード対象外にするファイル)
9)変更をaddする
$ git add --all *
以下のような警告が出るがこれは無視する(以下のファイルは無視しますよーーという警告)
hint: "git config advice.addIgnoredFile false"
10)変更をcommitする
$ git commit -am "first release"
11)アップロードする
$ git push
これで完了