ネゴシエーションによるポート動作モード

1. 初めに

 CCNAの勉強でポートネゴシエーションによる動作モードでポートやリンク状態がどうなるんだっけ?という私の覚え方のメモをこちらで共有し、他の方の助けになればと思います。

2. ポートネゴシエーションとは

 ポートの動作モードにはアクセスポートとトランクポートの2つがあります。機器へ接続し、手動で設定を行うかケーブルで接続された機器間でネゴシエーションによって決定されます。
Cisco では、独自プロトコルDTP(Dynamic Trunking Protocol) を使用し、対向先のポートと動作モードについてネゴシエーション(交渉)します。DTP はトランクポートにするためのプロトコルであり、DTP が相手から送信が無ければトランクポートになることはありません。例として、先出をしてしまうと、動作モードが「dynamic auto ⇔ dynamic auto」の場合は、お互いに DTP の送信がないため、リンクの状態がアクセスリンクになります。

動作モードには以下の4つが存在します。以下の内容からそれぞれ動作モードに強さが [ trunk/access > dynamic desirable > dynamic auto ] のような感じですね。

  • trunk

トランクポートとして動作し、対向ポートにDTPを送信する。
イメージ:私はトランクポートしか認めない!お前もトランクポートになれ!

アクセスポートとして動作し、対向ポートにDTPを送信しない。
イメージ:私はアクセスポートしか認めない!

  • dynamic desirable(desirable:望ましい)

対向先のポートにDTPを送信する。対向先のポートと交渉で了承が得られるとトランクポートになる。
イメージ:良ければトランクポートになりませんか。ダメならアクセスポートになります。

  • dynamic auto

対向先のポートにDTPを送信しない。対向先のポートから交渉が来たら、了承してトランクポートになる。
イメージ:アクセスポートなりたいけど、相手(対向)に合わせるよ。

3. 動作モードによるリンク状態

 以下、動作モードによってリンク状態がどのようになるのかを一覧に記載しました。それぞれのパターンを簡単に解説していきます。

画像1.1.ポートの動作モードによるリンク状態

  • trunk ⇔ trunk

これはさすがに簡単ですね。お互いに trunk モードとして動作するため、リンクはトランクリンクになります。

こちらも簡単ですね。お互いに access モードとして動作するため、リンクはアクセスリンクになります。

  • dynamic desirable ⇔ access

dynamic desirable のできれば trunk モードになりたいけど、access モードが強いため、リンクはアクセスリンクになります。

  • dynamic desirable ⇔ dynamic auto

dynamic auto は対向から交渉がなければ access モードになりますが、dynamic desirable からできれば trunk モードになりませんか?のような交渉があるため、リンクはトランクリンクになります。

参考資料

Cisco Router でのロールバックの使い方

1. 初めに

 検証作業などでコンフィグファイルを変更前の状態に戻したい場合に、投入した設定をすべて削除または戻すコマンドを用意して、実行するのは手間がかかる。その場合、特定地点の設定内容までに戻すことができるのが、ロールバックである。 ロールバックは事前に任意地点の設定ファイルを保存し、保存した設定ファイルを現時点のファイルと置換する。
注意点があるとすれば、コンフィグファイルを保存するということは同じコンフィグファイルが二つ存在することになるため、コンフィグファイルのサイズが格納可能な空き容量が必要となる。しかしながら、コンフィグファイルのサイズが格納できない状態が発生することはあまり考えられないため知識として覚えておくだけで問題ないと考える。
その他の注意点は、以下の内容を確認ください。

コンフィギュレーションの置換とロールバックの制約事項
バイスに、2 つのコンフィギュレーション ファイル(現在の実行コンフィギュレーションと、保存された置換用コンフィギュレーション)を合わせたサイズより大きな空きメモリがない場合、コンフィギュレーション置換操作は実行されません。

ネットワーク デバイスの物理コンポーネント(物理インターフェイスなど)に関連する特定の Cisco コンフィギュレーション コマンドは、実行コンフィギュレーションについて追加または削除することはできません。たとえば、コンフィギュレーション置換操作を行っても、そのインターフェイスがデバイス上に物理的に存在する場合、現在の実行コンフィギュレーションから interface ethernet 0 コマンド行を削除することはできません。同様に、interface ethernet 1 コマンド行は、そのようなインターフェイスがデバイス上に物理的に存在しない場合、実行コンフィギュレーションに追加することはできません。コンフィギュレーション置換操作でこのタイプの変更を試行すると、その特定のコマンド行が失敗したことを示すエラー メッセージが表示されます。

非常にまれなケースですが、ルータをリロードしないと特定の Cisco コンフィギュレーション コマンドを実行コンフィギュレーションから削除できないことがあります。コンフィギュレーション置換操作でこのタイプのコマンドの削除を試行すると、その特定のコマンド行が失敗したことを示すエラー メッセージが表示されます。

出典:コンフィギュレーションの置換とロールバック [Cisco IOS 15.1S]1

2. 使用機器

機器 詳細
Cisco Router 800M IOS 15.9(3)M7

3. 準備

 バックアップを取得するための準備をする。
アーカイブファイルを格納するためのフォルダ(例:archive)を「mkdir」コマンドで作成する。2

#mkdir archive
Create directory filename [archive]?  <--Enterキー
Created dir sdflash:/archive  <--Enterキー

#dir flash:/ 
Directory of sdflash:/

  377  drw-           0  Oct 12 2022 20:43:14 +09:00  archive

1959055360 bytes total (1893502976 bytes free)

4. 設定

 アーカイブ取得に関する設定をする。今回は、先ほど作成したフォルダに最大で3世代分(有効な値は 1 ~ 14 で、デフォルトは 10 です。3 )のアーカイブを取得することができるように設定する。4
アーカイブを小刻みに取得する場合、例として一日一度アーカイブを取得する設計にすると、7世代にするなどの検討は必要である。
アーカイブの取得を自動で実施するような設定も可能ですが、今回は手動でアーカイブを取得するようにする。
「path」コマンドで設定するアーカイブパスはファイル名が重複しないように自動でアーカイブファイル名の最後に連番の数字が付与される。[5. アーカイブ取得]のアーカイブファイル確認でも記述している。

(config)# archive
(config-archive)# path flash:/archive/RT
(config-archive)# maximum 3

5. アーカイブ取得

 「archive config」で現時点のコンフィグファイルのアーカイブを取得する。プロンプトが返されれば問題なくアーカイブが取得できている。

#archive config

アーカイブ取得後の状態を確認する。アーカイブファイルの格納場所とどのアーカイブファイルが直近で取得したものであるかを「<- Most Recent」で示している。
アーカイブは世代から増えるにしたがって、新しくなる。ここでは、アーカイブ1が古く、アーカイブ3が新しい。
アーカイブで4世代目を取得する場合、1世代目のアーカイブが消え、3世代目に新しいアーカイブが追加される。

#show archive
The maximum archive configurations allowed is 3.
There are currently 1 archive configurations saved.
The next archive file will be named flash:/archive/RT-<timestamp>-1
 Archive #  Name
   1        flash:/archive/RT-Nov-14-11-19-00.602-0 <- Most Recent
   2
   3

#dir flash:/archive/
Directory of sdflash:/archive/

  383  -rw-        5580  Nov 14 2023 20:19:00 +09:00  RT-Nov-14-11-19-00.602-0

1959055360 bytes total (1827606528 bytes free)

アーカイブを取得する際、アーカイブファイル名の最後に自動で連番が付与されるためアーカイブファイル名が重複することはない。
[<timestamp>] のフォーマットは、[<month>-<date>-<hour>-<minutes>-<second.micro second>-<timezone>] となります。

The next archive file will be named flash:/archive/RT-<timestamp>-1

6. ロールバック

 実際に「show archive」で確認した戻したいアーカイブを指定し、ロールバックを実施する。ロールバック実施前に、対象アーカイブファイルが想定の内容であることを事前に確認することをお勧めする。
また、以下のオプションは必須ではない。
force:本当にコンフィグファイルをロールバックしても問題ないかの確認を省略することができるオプション。以下の例での「yes」を入力する必要がなくなる。

#show archive config differences flash:/archive/RT-Oct-12-20-51-24.554-1
<出力内容省略>

#configure replace flash:/archive/RT-Oct-12-20-51-24.554-1 [force]
This will apply all necessary additions and deletions 
to replace the current running configuration with the 
contents of the specified configuration file, which is 
assumed to be a complete configuration, not a partial 
configuration. Enter Y if you are sure you want to proceed. ? [no]: yes <--Enter "yes"
Total number of passes: 1 
Rollback Done

7. 最後に

 ロールバックは特定地点の設定内容まで比較的簡単に戻せることができる便利な一面がある。しかしながら、私個人の感想として、実際に運用中の機器に対してロールバックを実施することはできる限り控えるべきと考える。理由は一つで、ロールバックはコンフィグファイルの置換であり、実際にコマンドを実行して設定を戻す機能ではないためである。初めに注意点として記載した通り、「非常にまれなケースですが、ルータをリロードしないと特定の Cisco コンフィギュレーション コマンドを実行コンフィギュレーションから削除できないことがあります。」といった事象が発生する可能性があり、機器で予期しない動作が発生することを防ぐためでもある。
機能としては非常に便利なものですので、検証作業時に使用するなど状況に応じて、うまく活用するべきである。

8. 参考文献

Cisco Router へのイメージ転送とバージョンアップの手順

※この作業は、Cisco Router へSSH接続ができる状態であることを前提に記載しています。SSH接続ができない場合は、SSH接続の設定を実施してください。

1. IOSイメージファイルをCisco Router へ転送

Cisco Router へファイル転送するには、FTPやTFTPで行うこともできますが、サーバを用意するなどの事前準備が必要であったりと手間がかかることや現時点で稼働している状態に暗号化されない通信でファイル転送を行うことはセキュリティ的に問題があるため、今回はSCPでファイル転送を行います。1
Cisco Router にSCPでファイル転送を行う場合は、事前に privilege が15のユーザ作成と SCPの有効化を設定する必要があります。2
privilege が15のユーザ(ログイン後に特権モードで操作が可能)が必要な理由は、SCPでファイル転送を行うには flash への書き込み権限が必要なためです。
SCPの有効化が必要な理由は、Cisco Router では、SSH接続の設定だけではSCPでファイル転送ができないためです。

(config)#username <UserName> privilege 15 secret <Password>
(config)#ip scp server enable

flash の空き容量を確認します。

#show file systems
File Systems:
       Size(b)       Free(b)      Type  Flags  Prefixes
*   1959055360    1892917248      disk     rw   sdflash: flash:#

※空き容量が不足している場合は、Cisco Router からIOSイメージファイルを退避させます。
WindowsPowerShell を起動後、以下の通りに実行し、SCPでIOSイメージファイルをローカルにダウンロードします。

> scp -o KexAlgorithms=+diffie-hellman-group-exchange-sha1 -o StrictHostKeyChecking=no <UserName>@<IPアドレス>:/<古いIOSイメージファイル.bin> .
(<UserName>@<IPアドレス>) Password: <--privilege が15のユーザのパスワードを入力
<古いIOSイメージファイル.bin>                                                 100%   62MB 900.4KB/s   01:10

Cisco Router で以下の通りに実行し、IOSイメージファイルを削除します。

#delete flash:<古いIOSイメージファイル.bin>
Delete filename [<古いIOSイメージファイル.bin>]? <--Enterキーを押す
Delete sdflash:/<古いIOSイメージファイル.bin>? [confirm] <--Enterキーを押す

空き容量がある場合は、こちらから作業を進めます。
WindowsPowerShell を起動します。
以下の通りに実行すると、Key Exchange Algorithm が対応していないため接続ができないことがあります。3

> scp <新しいIOSイメージファイル.bin> <UserName>@<IPアドレス>:/<新しいIOSイメージファイル.bin>
Unable to negotiate with <IPアドレス> port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
lost connection

Key Exchange Algorithm が対応していないことで接続ができない場合は、「-o」オプションで Key Exchange Algorithm を指定して、SCPコマンドを実行します。また、SSHでの初回ログインは、fingerprint の確認がありますが、同じく「-o」オプションで無視するようにします。

> scp -o KexAlgorithms=+diffie-hellman-group-exchange-sha1 -o StrictHostKeyChecking=no <新しいIOSイメージファイル.bin> <UserName>@<IPアドレス>:/<新しいIOSイメージファイル.bin>
Warning: Permanently added '<IPアドレス>' (RSA) to the list of known hosts.

(<UserName>@<IPアドレス>) Password: <--privilege が15のユーザのパスワードを入力
<新しいIOSイメージファイル.bin>                                                100%   56MB 334.1KB/s   02:52
Connection to <IPアドレス> closed by remote host.

参考程度に、Cisco Router へIOSイメージファイルを転送している時の負荷は簡易的に構築した Prometheus で監視したところ、以下のような状態でした。チューニングが適切でないため、高負荷時にパラメータが取得できていない時間があります。 以下のグラフを見たところ、一分間の平均CPU使用率が高く、IOSイメージファイルを転送しているので、インターフェースのIN方向(機器に対して通信が入ってくる方向)に対する通信が増加しています。 これらの結果を踏まえて、IOSアップデートするタイミングの検討が必要ですね。

画像1.1. 一分間の平均CPU使用率

画像1.2. 対象インターフェースで受信したパケットの総量

画像1.3. 対象インターフェースで送信したパケットの総量

2. 起動するイメージファイルを設定

今回は明示的にコンフィグファイルに起動するイメージファイルを設定します。古いIOSイメージファイルで起動するように設定をしている場合は、削除します。
flash にイメージファイルが一つしかない場合は、コンフィグファイルへの設定は不要です。コンフィグファイルに起動するイメージファイルを設定する必要があるのは、flash に複数のイメージファイルが存在する場合です。4
精神面で不安がある場合は設定をしておくことを個人的におすすめします。
コンフィグファイルの保存ができたら、「reload」コマンドで再起動します。

#conf t
(config)#no boot system flash:<古いIOSイメージファイル.bin>
(config)#boot system flash:<新しいIOSイメージファイル.bin>
(config)#end
#copy running-config startup-config
Destination filename [startup-config]? <--Enterキーを押す
Building configuration...
[OK]
#reload
Proceed with reload? [confirm] <--Enterキーを押す

3. バージョン確認

 再起動後にバージョン確認コマンドを実行し、新しいバージョンに切り替わっていることを確認します

#show ver
Cisco IOS Software, C****** Software (C******-UNIVERSALK9-M), Version <新しいバージョン>, RELEASE SOFTWARE (fc2)

4.参考資料

TeraTerm Macro ちょっぴり便利なログインマクロ

1. 概要

 サーバやネットワーク機器で作業を実施する際、手元の環境からSSH接続を行うことがあると思います。SSH接続を行うためには、接続先となるホスト名またはIPアドレス、ユーザ名とパスワードを用意します。
機器にSSH接続するために使用するターミナルソフトは様々ですが、今回は「TeraTerm(テラターム)1」を使用します。TeraTermではマクロと呼ばれる操作を自動で実行することができる機能も含まれています。
紹介するのは、TeraTermから手動で機器にSSH接続するのではなく、自動でSSH接続するだけではなく、ログ取得も行うマクロを紹介します。

2-1. ユーザ名でログインするマクロ

 ユーザ名を入力することで、自動ログインするマクロを以下に記載します。初回ログイン時のみパスワードを入力することで、次回以降のログインの際はユーザ名を入力するだけでログインすることができます。ホスト名やIPアドレス、ポート番号などは手元の環境に合わせて置き換えます。
「getpassword2」コマンドは、パスワードを読み出すことができます。初回ログイン時にパスワードを要求されるのは、指定されたファイルにパスワードが登録されておらず、パスワードを読み出すことができないためです。パスワードが登録されている次回以降のログインでは、入力されたユーザ名をもとに、パスワードを読み出すことでログインすることができます。入力するパスワードを間違えた場合は、パスワードを登録したファイルから間違えて登録した部分の行を削除します。

[multi-secpass.ttl]

hostname = 'Router'
ipaddr = '192.168.10.1'
portnum = '22'
sshpasswd = 'multi-passwd.dat'
enablepasswd = 'multi-passwd.dat'

loginhostname = hostname
strconcat loginhostname ":ログインユーザ名を入力してください。"
inputbox loginhostname "ユーザ名入力"
username = inputstr

; 入力チェック(空白は終了)
strlen username
if result = 0 then
    messagebox 'username is not input.' 'Input Error'
    end
endif

; ユーザ名からパスワードを検索
getpassword sshpasswd username userpasswd

; ログファイルのパラメータ
loghostname = hostname
strconcat loghostname ":ログファイル名を入力してください。"
inputbox loghostname "ログファイル入力"
logname = inputstr

; 入力チェック(空白は終了)
strlen logname
if result = 0 then
    messagebox 'logfile name is not input.' 'Input Error'
    end
endif

; ログファイル格納ディレクトリのパラメータ
Getdir dir
Strconcat dir '\Log\'

; 対象フォルダが存在しない場合は作成
filesearch dir
if result=0 then
    foldercreate 'Log'
endif

; ログファイル名
Strconcat dir logname
Strconcat dir '.log'

; SSH接続
sprintf2 msg '%s:%s /ssh /auth=password /user=%s /passwd=%s' ipaddr portnum username userpasswd
Connect msg

; ログ取得開始
logopen dir 0 1

; [Cisco]特権モードへ移行
Wait '>'
Sendln 'enable'
Wait 'assword:'
getpassword enablepasswd 'enablepassword' enbpasswd
Sendln enbpasswd
Wait '#'
Sendln 'terminal length 0'

以下のファイルは、「getpassword」コマンドで登録されたパスワードが記載されています。登録されたパスワードはランダムな文字列で記載されています。例として、ユーザ名「test1」と特権モードへ移動するためのパスワードがそれぞれホモづいています。

[multi-passwd.dat]

[Password]
test1=/1og#s_S{E**********?zws9.
enablepassword=^G|pjAK5]g>1************/`E!atRn0&IBf}e(r

2-2. ホスト名+ユーザ名でログインするマクロ

 ホスト名とユーザ名を入力することで、自動ログインするマクロを以下に記載します。初回ログイン時のみパスワードを入力することで、次回以降のログインの際はユーザ名を入力するだけでログインすることができます。ホスト名やIPアドレス、ポート番号などは手元の環境に合わせて置き換えます。
ユーザ名を入力して自動ログインするマクロでは、ホスト毎にログインマクロを作成する必要がありましたが、ホスト名を指定することでログインマクロを一つにまとめることができるメリットがあります。デメリットは、ログイン可能なホストがファイル毎で分割されていないため、csvファイルで確認する必要がある点です。
csvファイルからホスト名を「filestrseek3」で検索し、ヒットした文字列から行の最後まで読み込みます。csvファイルにパラメータを記載する際は、行の初めはホスト名から記載することが必要です。

[multi-secpass-csv.ttl]

csvfile = 'sample.csv'
separator = ','
sshpasswd = 'multi-id-passwd.dat'
enablepasswd = 'multi-id-passwd.dat'

; ログイン機器ホスト名を入力
inputbox "ログイン機器ホスト名を入力してください。" "Input network device name"
hostname = inputstr

; 入力チェック(空白は終了)
strlen hostname
if result = 0 then
    messagebox 'hostname is not input.' 'Input Error'
    end
endif

; ログインユーザ名を入力
loginhostname = hostname
strconcat loginhostname ":ログインユーザ名を入力してください。"
inputbox loginhostname "Input username"
username = inputstr

; 入力チェック(空白は終了)
strlen username
if result = 0 then
    messagebox 'username is not input.' 'Input Error'
    end
endif

; ユーザ名からパスワードを検索
getpassword sshpasswd username userpasswd

; ログ取得
loghostname = hostname
strconcat loghostname ":ログファイル名を入力してください。(拡張子は不要)"
inputbox loghostname "ログファイル入力"
logname = inputstr

; 入力チェック(空白は終了)
strlen logname
if result = 0 then
    messagebox 'logfile name is not input.' 'Input Error'
    end
endif

; ログファイル格納ディレクトリのパラメータ
Getdir dir
Strconcat dir '\Log\'

; 対象フォルダが存在しない場合は作成
filesearch dir
if result=0 then
    foldercreate 'Log'
endif

; ログファイル名
Strconcat dir logname
Strconcat dir '.log'

; 読み取り専用でCSVファイルを開く
fileopen fhandle csvfile 0 0

; CSVファイルから文字列を検索(見つかった場合はシステム変数 result に 1、見つからなかった場合はシステム変数 result に 0 が格納される)
filestrseek fhandle hostname
; 見つからなかった場合は、「not_founud」ラベルに移動
if result=0 end
; 見つかった検索文字からその行の終わりまでを読み込む
filereadln fhandle str

; CSVファイルから文字列を検索したパラメータ
strsplit str separator
host = groupmatchstr1
ipaddr = groupmatchstr2
portnum = groupmatchstr3

; SSH接続
sprintf2 conbuf '%s:%s /ssh /auth=password /user=%s /passwd=%s' ipaddr portnum username userpasswd
connect conbuf

; ログ取得開始
logopen dir 0 1

; [Cisco]特権モードへ移行
Wait '>'
Sendln 'enable'
Wait 'assword:'
getpassword enablepasswd 'enablepassword' enbpasswd
Sendln enbpasswd
Wait '#'
Sendln 'terminal length 0'

; 読み取り専用のCSVファイルを閉じる
fileclose fhandle
end

以下のファイルは、ログイン対象のホスト名、IPアドレス、ポート番号を記載しています。対象ホストを追加する場合は、下にパラメータを記載していくことで可能です。

[sample.csv]

Router,192.168.10.1,22
Switch,192.168.20.1,22

以下のファイルは、「getpassword」コマンドで登録されたパスワードが記載されています。登録されたパスワードはランダムな文字列で記載されています。例として、ユーザ名「test1」と特権モードへ移動するためのパスワードがそれぞれホモづいています。

[multi-id-passwd.dat]

[Password]
test1=/1og#s_?zS**********E!}6%Ea
enablepassword=^G|p~c"/`E!************M>1ICn0&IBf}e(r

3. 参考資料

  1. Tera Termマクロ - パスワード認証のSSH自動ログイン
  2. Tera Term Macroで湯婆婆: ホスト名もユーザー名もパスワード ...
  3. TeraTermマクロサンプル-SSH自動ログイン(接続ホスト入力版)
  4. 【Cisco】SSHログインマクロ - NW検証ブログ
  5. CSVファイルを使ってTera Termマクロにパラメータを渡す方法

さくらのメールボックス+IMAPで独自ドメインのメールを用意

1. 概要

 昨今、多くのメールサービスが提供されており、身近な代表的なものを挙げると「Gmail」や「Yahoo!メール」がある。これらのメールアドレスはドメインが予め定められており、ユーザが任意で変更することはできない。 Gmailは「<任意>@gmail.com」、Yahoo!メールは「<任意>@yahoo.co.jp」となっている。日常生活で使用するだけでは不便はなく、メールを送受信する機能として十分な機能を果たしている。 メールをやり取りする場合にメールアドレスのドメインから相手が誰であるかを意識する必要がないためである。
しかし、ビジネスでメールアドレスが独自ドメインではなく、「Gmail」や「Yahoo!メール」でメールを受信したことを想定してみる。 メール送信者が想定している相手からであることをメールアドレスから判断することはできない。独自ドメインでメールアドレスを運用することは特定の組織に所属していることを証明する信頼される情報の一つである。
今回は、独自ドメインでメールアドレスを運用するために、さくらインターネットが提供する「さくらのメールボックス1」を利用し、独自ドメインでメールアドレスを用意するまでの手順をまとめる。 独自ドメインさくらインターネットさくらインターネット以外のネットオウルで取得した場合を分けて記載する。

2-1. ドメインの設定(さくらインターネット

 ここではさくらインターネットドメイン購入方法は省略する。すでにドメインを運用している場合は、画像2.4にあるような対象ゾーンのレコードにさくらインターネットで指定されているNSレコードが設定できていることを確認する。
初めてドメイン設定する場合は、[会員メニュー]-[契約情報]-[契約ドメイン一覧]をクリックし、画像2.1にあるドメインコントロールパネルのリンクから設定をする。

画像2.1

リンクへ移動すると画像2.2のような画面が表示され、何も設定がされていないためドメインゾーン状態が「未設定」と表示される。ドメイン一覧の右側にある[ゾーン]のリンクをクリックする。

画像2.2

画像2.3の「さくらのDNSに設定する(詳細設定)」から[追加して設定]をクリックする。

画像2.3

画像2.4のようにさくらインターネット指定のDNSサーバ(ns1.dns.ne.jp/ns2.dns.ne.jp)が自動設定されていることを確認して、ドメイン準備は完了である。

画像2.4

ドメイン設定とユーザ設定を行うために、サーバーコントロールパネルに移動する。ドメイン設定を行うために、ホームの左サイドバーから「ドメイン/SSL」へ移動する。

画像2.5

[ドメイン新規追加]をクリックし、ドメインを追加する。すでに登録されている初期ドメインは削除できない。

画像2.6

さくらインターネットで取得したドメインを利用する場合は、「さくらインターネットで取得の独自ドメインを使う」のStep2で使用するドメインを選択する。 サブドメインを使用する場合は、加えて「サブドメインを指定する」にチェックを入れ、独自ドメインの左に任意のサブドメインを入力する。 内容を確認して、問題なければ[追加]をクリックする。

画像2.7

追加したドメインが設定されていることを確認する。

画像2.8

2-2. ドメインの設定(ネットオウル)

 さくらインターネット以外(今回はネットオウル)のサービスでドメインを購入した場合は、設定はサービスによって異なるが、必要な設定はレコードのネームサーバにさくらインターネットが指定するDNSサーバ(ns1.dns.ne.jp/ns2.dns.ne.jp)を指定する。

画像2.9

ドメイン設定とユーザ設定を行うために、サーバーコントロールパネルに移動する。ドメイン設定を行うために、左サイドバーから「ドメイン/SSL」へ移動する。

画像2.10

[ドメイン新規追加]をクリックし、ドメインを追加する。

画像2.11

さくらインターネット以外でドメインを取得し、ドメイン管理をさくらインターネットで行わない場合は、「他社で取得したドメインを移管せずに使う」から[追加]をクリックする。

画像2.12

「他社で取得した独自ドメインの追加」にドメイン名を入力して、[追加]をクリックする。

画像2.13

追加したドメインが設定されていることを確認する。

画像2.14

3. ユーザの設定

メールアドレスの使用するユーザ設定をする。設定内容は以下の通りである。
基本設定では、ユーザに関する設定を行う。
・[必須]ユーザ名:任意のユーザ名を入力する。今回は、「manager」という名前でユーザを作成する。
・ユーザの説明:入力必須ではないため空白でも問題ない。
・[必須]パスワード:説明にある8文字以上32文字以内で半角英数字・記号を用いた任意の文字列を入力する。
・[必須]パスワード(確認):上記と同じ文字列を入力する。

画像3.1

メール利用範囲では、利用するメールの機能的な設定を行う。また、設定内容に問題がなければ、[作成]をクリックする。
・[必須]メール利用制限:レンタルサーバのプランによって利用可能な上限容量(GB)が異なるため「プラン比較 - レンタルサーバーはさくらインターネット2より利用しているプランを確認する。利用可能な容量の範囲で数値を入力する。
・[必須]メールの受信:受信すると転送専用がありますが、大抵の場合はメール受信で使用するため「受信する」にチェックする。
・転送先のアドレス:動作未確認のため説明なし。
・拒否リスト:動作未確認のため説明なし。
・許可リスト:動作未確認のため説明なし。
・ウイルスチェック:ウイルスチェックをしない理由が無い限りは「有効」にチェックする。
・迷惑フィルター:説明の推奨にあるように迷惑メールは迷惑メールフォルダに保存するようにする。

画像3.2

ユーザが作成されていることを確認する。

画像3.3

4.メールソフトの設定(Outlook)

さくらのメールボックスに送信されたメールをメールソフトで操作できるようにアカウント設定をする。今回は、Outlookを使用する場合を想定する。

メールアドレスは、「<ユーザ名>@<ドメイン名>」で設定する。今回は、ユーザ設定で追加した「manager」と画像2.8または画像2.14で追加されたドメインを組み合わせて入力する。
詳細オプションを展開して、「自分で自分のアカウントを手動で設定」にチェックを入れる、[接続]をクリックする。

画像4.1

POPとIMAPはサーバ上にあるメールを受信するためのプロトコルである。POPとIMAPの違いについては以下の引用元を参照する。

電子メールの受信プロトコルである POP と IMAP
引用元:POP と IMAP の違い - 全学計算機システム - 筑波大学3

メールサーバ上にメールを残す設定にするため、「IMAP」をクリックする。

画像4.2

受信メールと送信メールのサーバーは、画像4.4にあるような[会員メニュー]-[契約情報]-[契約サービス一覧]からさくらのメールボックスに記載されている「ホスト名」を入力する。
具体的な入力内容は以下の引用元を参照する。

※1「初期ドメイン(●●.sakura.ne.jp)」は、お申し込み時お客様にて入力いただいたドメイン名です。
引用元:メールソフトの一般的な設定をしたい(ライト・スタンダード ...4

メールの送受信に暗号化を施すための設定する。設定内容はさくらのメールボックスに定められている基本仕様5に基づいて行う。
受信メールは、IMAPS(IMAP over SSL)を使用するため、暗号化方法は「SSL/TLS」を選択し、ポートは「993」にする。
送信メールは、暗号化方法は「STARTTLS」を選択し、ポートは「587」を設定する。
受信メールと送信メールの「セキュリティで保護されたパスワード認証(PSA)でのログオンが必要」にチェックは入れない。
設定内容を確認し、[次へ]をクリックする。

画像4.3

画像4.4

「3. ユーザの設定」で新規ユーザを追加した際に設定したパスワードを入力し、[接続]をクリックする。

画像4.5

「アカウントが正常に追加されました」と表示されたことを確認し、[完了]をクリックする。

画像4.6

5. IMAPのメール受信設定(Outlook)

OutlookIMAP設定をする場合は以下の手順が必要である。
ウィンドウ上部の[ファイル]に切り替え、[アカウント設定]から[アカウント設定(A)]をクリックする。

画像5.1

[メール]タブに切り替え、対象めーりアドレスを選択した状態で[変更(A)]をクリックする。

画像5.2

OutlookIMAP設定でルートフォルダーのパスが必要です。以下の引用元で一般的な設定方法を参照する。

※4 「IMAP4」または「IMAP4S」で設定時のみ必要です。
引用元:メールソフトの一般的な設定をしたい(ライト・スタンダード ...6

[フォルダー設定]-[ルートフォルダーのパス]に「INBOX」または「inbox」を入力し、[次へ]をクリックする。

画像5.3

参考資料

【Windows + FTP】Cisco Router IOSバージョンアップ

Cisco Router のIOSバージョンアップ作業にあたり、以下のサイトを参考にさせていただきました。 ありがとうございます。

  • 基本的なIOSアップデート - Catalyst - ネットワーク入門サイト

私が作業するにあたり所々で失敗したので、参考にさせていただいた記事をもとに追加でもう少し丁寧に記載する。

1.構成

ルータの0/5ポートとPCのLANポートをLANケーブル、ルータのコンソールポートとPCのUSBポートをコンソールケーブルで接続する。

LANケーブルを繋いでいる方でIOSイメージ転送を行い、コンソールケーブルで繋いでいる方でルータの操作を行う。

機器 詳細
Router Cisco C800M
PC Windows 10 Home

図1.1 構成図

2.PC側準備

フォルダ用意

フォルダを作成後、[プロパティ]→[共有]タブ→[共有]をクリックする。

画像2.1 フォルダのプロパティ
上部バーから[Everyone]を選択して、[追加]をクリックする。
画像2.2 フォルダのアクセス許可ユーザ追加
Everyone のアクセス許可のレベルに読み取りと書き込みがあることを確認し、[共有]をクリックする。後にIOSバージョンアップ作業時にルータの容量が不足している場合に古いIOSイメージをPC側に転送するために書き込みを許可している。
画像2.3 フォルダのアクセス許可レベル確認
用意したフォルダに新IOSイメージを格納する。

FTPサービス有効

[コントロールパネル]→[プログラム]→[Windows の機能の有効化または無効化]をクリックする。

以下の項目にチェックを入れ、[OK]をクリックする。

  • [インターネットインフォメーションサービス]→[FTPサービス]→[FTP Service]

  • [インターネットインフォメーションサービス]→[Web管理ツール]→[IIS 管理コンソール]

画像2.4 Windows の機能

FTPサービス設定

[コントロールパネル]→[システムとセキュリティ]→[管理ツール]をクリックする。

[インターネットインフォメーションサービス(IIS)マネージャー]をクリックする。

[PC ホスト名]→[サイト]を右クリックし [FTPサイト]をクリックする。

画像2.5 FTPサイト追加

FTPサイト情報を設定

[FTPサイト名]には任意のものを入力する。FTPサイト名はインターネットインフォメーションサービス(IIS)マネージャー上で識別するために使用する。

[物理パス]は事前に フォルダ用意 で作成したディレクトリパスを選択する。

画像2.6 FTPサイト情報を設定

バインドとSSLの設定

[バインド]→[IP アドレス]にはルータと接続しているPCのIPアドレスを入力する。

作業時以外でFTPサービスが起動しないように、[FTPサイトを自動的に開始する]のチェックを外す。

[SSL]は無しを選択する。

画像2.7 バインドとSSLの設定

認証および認証の情報を設定

[認証]は匿名にチェックを入れる。

[承認]→[アクセスの許可]は匿名ユーザを選択し、[承認]→[アクセス許可]は読み込みと書き込みの両方にチェックを入れる。後にIOSバージョンアップ作業時にルータの容量が不足している場合に古いIOSイメージをPC側に転送するために書き込みを許可している。

IOSバージョンアップのために使用するだけなので、匿名で問題ありません。

画像2.8 認証および認証の情報を設定

Windows ファイアウォールFTP通信許可

[コントロールパネル]→[システムとセキュリティ]→[Windows Defender ファイアウォール]→[Windows Defender ファイアウォールを介したアプリまたは機能を許可]をクリックする。

[FTPサーバー]と[プライベート]、[パブリック]にチェックを入れ、[OK]をクリックする。

画像2.9 Windows ファイアウォールFTP通信許可

FTPサービス起動

[コントロールパネル]→[システムとセキュリティ]→[管理ツール]をクリックする。

[インターネットインフォメーションサービス(IIS)マネージャー]をクリックする。

作成したFTPサイトを選択し、右メニューバーの[FTPサイト管理]から[開始]をクリックする。

画像2.10 FTPサービス起動

3.Cisco Router IOSバージョンアップ作業

新しいIOSイメージ転送

### 空き容量確認
#show flash:
1893007360 bytes available (66048000 bytes used)

### 空き容量が足りない場合は旧IOSイメージを退避
#copy flash:<旧IOSイメージ(.bin)> ftp://anonymous:anonymous@<PC IPアドレス>/
Address or name of remote host [<PC IPアドレス>]?
Destination filename [<旧IOSイメージ(.bin)>]?
Writing <旧IOSイメージ(.bin)>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
58997820 bytes copied in 35.648 secs (1655011 bytes/sec)

### 古いIOSイメージを削除
#delete flash:<旧IOSイメージ(.bin)>
Delete filename [<旧IOSイメージ(.bin)>]?
Delete sdflash:/<旧IOSイメージ(.bin)>? [confirm]

### Windows(FTP)からルータに新IOSイメージを転送
#copy ftp://anonymous:anonymous@<PC IPアドレス>/<新IOSイメージ(.bin)> flash:
Destination filename [<新IOSイメージ(.bin)>]?
Accessing ftp://*:*@<PC IPアドレス>/<新IOSイメージ(.bin)>...
Loading <新IOSイメージ(.bin)>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 58969072/4096 bytes]

58969072 bytes copied in 91.804 secs (642337 bytes/sec)

バージョンアップ実施

### 現在のバージョン(15.5(3)M4a)確認
#show version
Cisco IOS Software, C800M Software (C800M-UNIVERSALK9-M), Version 15.5(3)M4a, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2016 by Cisco Systems, Inc.
Compiled Thu 06-Oct-16 16:52 by prod_rel_team

### 古い設定がある場合は削除
(config)#no boot system flash flash:<旧IOSイメージ(.bin)>

### 新しいIOSバージョンで起動するように設定
(config)#boot system flash flash:<新IOSイメージ(.bin)>
#copy running-config startup-config
#reload
Proceed with reload? [confirm]

### 新しいバージョン(15.5(3)M10)であることを確認
#show version
Cisco IOS Software, C800M Software (C800M-UNIVERSALK9-M), Version 15.5(3)M10, RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2019 by Cisco Systems, Inc.
Compiled Wed 25-Sep-19 10:31 by prod_rel_team

追記

(2023/03/01)
[2.PC側準備]→[FTPサービス有効]における記載内容に誤り
誤: [インターネットインフォメーションサービス]→[FTPサービス]→[FTP Service]
正:
[インターネットインフォメーションサービス]→[FTPサーバー]→[FTP Service]

参考資料

  1. 基本的なIOSアップデート - Catalyst - ネットワーク入門サイト