2023年04月
2023年04月13日
2023年04月12日
サーバー管理の勉強の一環として、ドメインを取得しサーバーを構築していました。
DTI の VPS は価格が安く、メモリが1Gだったのでこれに申し込みました。
その前はあまり覚えていませんが、 tsukaeru.net (使えるねっと) だったように思います。
メモリを必要とする何かをする予定はありませんでしたが、Linuxとはいえさすがに1G以下の環境はつらいように思ったので、安いサービスでメモリ1G以上を探していました。
この契約を行ったのが2015/6月ごろのことでした。
そのときは Ubuntu 14.04 を利用しました。このサポート期限は 2024/4ということで、そろそろ乗り換えるタイミングだと考えました。
DTI のサーバーは気に入っていたので、とくに乗り換える理由も無かったのですが、新しいOSには対応しておらず、サービスの内容もいまいち力が入っていないような感じでした。
そのためせっかくの機会なので、別会社のサーバーにしようと思いました。
調べてみると、 Kagoya のサーバーがやはり同じように格安で、1Gメモリが利用可能でした。
またOSも最新のものに対応しているようでした。
DTIは長らく運用していましたが、サーバー会社由来によるトラブルはありませんでした。非常に安定していた印象です。
DTI の VPS は価格が安く、メモリが1Gだったのでこれに申し込みました。
その前はあまり覚えていませんが、 tsukaeru.net (使えるねっと) だったように思います。
メモリを必要とする何かをする予定はありませんでしたが、Linuxとはいえさすがに1G以下の環境はつらいように思ったので、安いサービスでメモリ1G以上を探していました。
この契約を行ったのが2015/6月ごろのことでした。
そのときは Ubuntu 14.04 を利用しました。このサポート期限は 2024/4ということで、そろそろ乗り換えるタイミングだと考えました。
DTI のサーバーは気に入っていたので、とくに乗り換える理由も無かったのですが、新しいOSには対応しておらず、サービスの内容もいまいち力が入っていないような感じでした。
そのためせっかくの機会なので、別会社のサーバーにしようと思いました。
調べてみると、 Kagoya のサーバーがやはり同じように格安で、1Gメモリが利用可能でした。
またOSも最新のものに対応しているようでした。
DTIは長らく運用していましたが、サーバー会社由来によるトラブルはありませんでした。非常に安定していた印象です。
2023年04月07日
最近、サーバーを更新しました。
かつて行った作業は2016年ごろのようで、同じような記事を書いています。
2016年03月31日: CloudFlare を導入したら、アクセスログがすべてCloudFlareのIPになりました。
今回も同様に作業すればいいのかと思ってしらべたところ、mod_cloudflare についてはサポート終了となっており、違う方法があるようでした。
参考
元の訪問者IPを復元する
今回の環境もUbuntuですが、すでに初期状態で今回の作業に必要な mode_remoteip モジュールはインストールされているようでした。
# a2enmod remoteip
site の設定ファイルに以下の行を追加しました。
RemoteIPHeader CF-Connecting-IP
/etc/apache2/apache2.conf から %h を %a に書き換えました。
その後は RemoteIPTrustedProxy などの設定を上記参考サイトの通り行います。
セキュリティ的にこのような設定をするのが望ましいようです。
私の場合は、とりあえず動作を確認したかったので、RemoteIPTrustedProxy の設定は行いませんでした。
apache を再起動して動作確認をしました。
# systemctl restart apache2
無事にクライアントのIPが取得できるようになりました。
かつて行った作業は2016年ごろのようで、同じような記事を書いています。
2016年03月31日: CloudFlare を導入したら、アクセスログがすべてCloudFlareのIPになりました。
今回も同様に作業すればいいのかと思ってしらべたところ、mod_cloudflare についてはサポート終了となっており、違う方法があるようでした。
参考
元の訪問者IPを復元する
今回の環境もUbuntuですが、すでに初期状態で今回の作業に必要な mode_remoteip モジュールはインストールされているようでした。
# a2enmod remoteip
site の設定ファイルに以下の行を追加しました。
RemoteIPHeader CF-Connecting-IP
/etc/apache2/apache2.conf から %h を %a に書き換えました。
その後は RemoteIPTrustedProxy などの設定を上記参考サイトの通り行います。
セキュリティ的にこのような設定をするのが望ましいようです。
私の場合は、とりあえず動作を確認したかったので、RemoteIPTrustedProxy の設定は行いませんでした。
apache を再起動して動作確認をしました。
# systemctl restart apache2
無事にクライアントのIPが取得できるようになりました。
2023年04月06日
デフォルトでインストールした状態であれば、 IPv6 については何の設定も不要で利用できます。
しかし今回は ISO からインストールしたため、自身で設定する必要がありました。
IPv4の様々な設定値、IPアドレスやサブネット、DNS、ゲートウェイなどは Web 管理画面に記載されており、全く問題ありません。
一方で、IPv6については、IPアドレスのみが表示されているだけで、サブネット(プレフィックス)やゲートウェイについては表示されていません。
ということで以下の通り設定しました。
アドレスについては管理画面の記載の通りですが、サブネット(プレフィックス)は/64となります。
例) 2406:Z:Z:0:Z:Z:Z:1/64
ゲートウェイは、左から4オクテットは同一にして、最後を1にすることでできました。
2406:Z:Z:0::1
DNSは IPv4 のものを利用します。
これで IPv6 での通信もできるようになりました。
$ ping -6 google.com
PING google.com(kix07s03-in-x0e.1e100.net (2404:6800:400a:80b::200e)) 56 data bytes
64 bytes from kix07s03-in-x0e.1e100.net (2404:6800:400a:80b::200e): icmp_seq=1 ttl=115 time=9.06 ms
しかし今回は ISO からインストールしたため、自身で設定する必要がありました。
IPv4の様々な設定値、IPアドレスやサブネット、DNS、ゲートウェイなどは Web 管理画面に記載されており、全く問題ありません。
一方で、IPv6については、IPアドレスのみが表示されているだけで、サブネット(プレフィックス)やゲートウェイについては表示されていません。
ということで以下の通り設定しました。
アドレスについては管理画面の記載の通りですが、サブネット(プレフィックス)は/64となります。
例) 2406:Z:Z:0:Z:Z:Z:1/64
ゲートウェイは、左から4オクテットは同一にして、最後を1にすることでできました。
2406:Z:Z:0::1
DNSは IPv4 のものを利用します。
これで IPv6 での通信もできるようになりました。
$ ping -6 google.com
PING google.com(kix07s03-in-x0e.1e100.net (2404:6800:400a:80b::200e)) 56 data bytes
64 bytes from kix07s03-in-x0e.1e100.net (2404:6800:400a:80b::200e): icmp_seq=1 ttl=115 time=9.06 ms
2023年04月05日
今まで何回もやっている作業です。
Linuxサーバーを構築するときの一番最初の作業は、公開鍵を登録し、パスワードやrootでのログインを禁止することです。
これらの作業をいつものように行って、サービスを再起動して設定値を反映させました。
何回もやっている作業でミスをするようなところではありません。
しかしパスワード認証がいつまでたっても無効になりません。
ちゃんと sshd_config を修正しており、サービスの再起動もしています。
結局 sshd_config.d/ というフォルダが存在し、その中に 50-cloud-init.conf という config ファイルが存在していました。
そこにはパスワード認証をONにする1行だけが書かれていました。
これによって、設定値が上書きされてしまっていたようです。
このファイルを削除し、無事に解決しました。
Linuxサーバーを構築するときの一番最初の作業は、公開鍵を登録し、パスワードやrootでのログインを禁止することです。
これらの作業をいつものように行って、サービスを再起動して設定値を反映させました。
何回もやっている作業でミスをするようなところではありません。
しかしパスワード認証がいつまでたっても無効になりません。
ちゃんと sshd_config を修正しており、サービスの再起動もしています。
結局 sshd_config.d/ というフォルダが存在し、その中に 50-cloud-init.conf という config ファイルが存在していました。
そこにはパスワード認証をONにする1行だけが書かれていました。
これによって、設定値が上書きされてしまっていたようです。
このファイルを削除し、無事に解決しました。
2023年04月04日
まず yaml ファイルで苦労しました。インデントをスペースで調整するらしいのですが、それが多くても少なくてもだめという・・。
config ファイルでそういうものはなかなか無いのでとても恐ろしい経験でした。
以下の通りで、設定値はとてもきれいにまとまっているように思います。一方で、 - の位置などが半角スペースによるインデントで正しい位置にないとエラーになります。
※既存でファイルが存在しているので、既存を無効に。コピーして新しいファイルを作成しました。
#cd /etc/netplan/
#mv 00-installer-config.yaml 00-installer-config.yaml.disable
#cp 00-installer-config.yaml.disable 99-manual-config.yaml
#vi /etc/netplan/99-manual-config.yaml
network:
ethernets:
ens3:
addresses:
- X.X.X.X/23
- ZZ::Z/64
routes:
- to: default
via: X.X.X.X
- to: default
via: ZZ::1
nameservers:
addresses:
- X.X.X.X
version: 2
設定を変更したら以下のコマンドで反映させます。
※設定値にミスがあると、ネットワークが死ぬのでコンソールから作業するのがいいと思います。
# netplan apply
config ファイルでそういうものはなかなか無いのでとても恐ろしい経験でした。
以下の通りで、設定値はとてもきれいにまとまっているように思います。一方で、 - の位置などが半角スペースによるインデントで正しい位置にないとエラーになります。
※既存でファイルが存在しているので、既存を無効に。コピーして新しいファイルを作成しました。
#cd /etc/netplan/
#mv 00-installer-config.yaml 00-installer-config.yaml.disable
#cp 00-installer-config.yaml.disable 99-manual-config.yaml
#vi /etc/netplan/99-manual-config.yaml
network:
ethernets:
ens3:
addresses:
- X.X.X.X/23
- ZZ::Z/64
routes:
- to: default
via: X.X.X.X
- to: default
via: ZZ::1
nameservers:
addresses:
- X.X.X.X
version: 2
設定を変更したら以下のコマンドで反映させます。
※設定値にミスがあると、ネットワークが死ぬのでコンソールから作業するのがいいと思います。
# netplan apply
2023年04月03日
デフォルトで Ubuntu 22.04 が選択できるので、これを利用したいと思っていました。
しかしかなり大量のパッケージがデフォルトでインストールされており、なんだか違和感が非常につよい状態でした。
サービスもたくさんデフォルトで立ち上がっています。
長らくサーバーを構築してきたので、自分でコントロールしていない状態で盛り盛りになっているのは、将来の面倒につながるような気がしてしまいます。
しらべてみると、 Ubuntu Server というのがあり、かなりの最小構成でインストールできるようでした。
そして Kagoya Cloud VPS では ISO からインストールできることができるようです。
VPS の管理画面にログインし、 イメージ - ISOイメージ のページにアクセスします。
ISOの登録を選択し、イメージ名と取得先URLを入力します。
ISOの取得に少し時間がかかるので待ちます。(ISOは24時間で削除されるそうなので、注意が必要です)
取得後は、インスタンス作成ボタンを押し、仮想マシンの作成に続きます。
インスタンス画面に行き、仮想マシンを作成すると、利用可能なIPアドレスやサブネット、DNSがページ内に記載されます。
一方で、インストールから自身でする必要があるため、これらのIPアドレスは、自分でインストールの途中で指定する必要があります。
「コンソールを起動」からインストール画面を表示させ、インストールを進めます。
特に取得したISOはインターネット接続が前提になるため、記載のあったIPアドレス、DNS、ゲートウェイなどを正しく入力します。私はとりあえずIPv4だけで進めました。
インストール後は英語版ですし、less も vim も何も入っていないので、必要なものをインストールします。
しかしかなり大量のパッケージがデフォルトでインストールされており、なんだか違和感が非常につよい状態でした。
サービスもたくさんデフォルトで立ち上がっています。
長らくサーバーを構築してきたので、自分でコントロールしていない状態で盛り盛りになっているのは、将来の面倒につながるような気がしてしまいます。
しらべてみると、 Ubuntu Server というのがあり、かなりの最小構成でインストールできるようでした。
そして Kagoya Cloud VPS では ISO からインストールできることができるようです。
VPS の管理画面にログインし、 イメージ - ISOイメージ のページにアクセスします。
ISOの登録を選択し、イメージ名と取得先URLを入力します。
ISOの取得に少し時間がかかるので待ちます。(ISOは24時間で削除されるそうなので、注意が必要です)
取得後は、インスタンス作成ボタンを押し、仮想マシンの作成に続きます。
インスタンス画面に行き、仮想マシンを作成すると、利用可能なIPアドレスやサブネット、DNSがページ内に記載されます。
一方で、インストールから自身でする必要があるため、これらのIPアドレスは、自分でインストールの途中で指定する必要があります。
「コンソールを起動」からインストール画面を表示させ、インストールを進めます。
特に取得したISOはインターネット接続が前提になるため、記載のあったIPアドレス、DNS、ゲートウェイなどを正しく入力します。私はとりあえずIPv4だけで進めました。
インストール後は英語版ですし、less も vim も何も入っていないので、必要なものをインストールします。