15分ほどググりましたが、
以下のサイトがわかりやすかったです。
https://www.sria.co.jp/blog/2021/06/5316/
今後は基本的にVScodeからの接続が基本になりそうです
IT系の忘備録とイラスト
15分ほどググりましたが、
以下のサイトがわかりやすかったです。
https://www.sria.co.jp/blog/2021/06/5316/
今後は基本的にVScodeからの接続が基本になりそうです
WSL上でdockerのインストールをしたと思っていたがサービスが見つからないとのエラーが発生。
解決したのでメモ
VERSION="20.04.4 LTS (Focal Fossa)"
Docker version 20.10.18, build b40c2f6
wsl上でdocker.io をインストール
docker ps を叩くとデーモンがないと知らされる
以下サイトを参考にした
http://var.blog.jp/archives/85880603.html
---以下引用---
とりあえず 標準リポジトリの docker.io ではなく docker-ce のサイトのインストールスクリプトを使ってインストールしてみます
curl https://get.docker.com | sh
---以下引用ここまで---
現在は問題なく利用可能となっている
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
スイッチにACLを設定する前に、
パケットトレーサーで実施したACLの検証内容を記載する。
パケットトレーサーにて以下の検証環境を用意した。
・PC0 : 192.168.1.1
・PC1 : 192.168.1.3
・Switch0[vlan1]:192.168.1.5
・Router0[Giga 0/1]:192.168.1.254
以下はいずれもpingの反応が正常に返ってくる。
PC0→Router
PC1→Router
Router0で、ACLを作成して、
[PC1 : 192.168.1.3]からのパケットを拒否したい
・ Router0にログインし、コンフィギュレーションモードにて
192.168.1.3を拒否するアクセスリスト1を作成する
Router(config)#access-list 1 deny host 192.168.1.3
・アクセスリストはデフォルトで全て拒否する性質があるため、
すべてのパケットを許可する内容を追加する
Router(config)#access-list 1 permit any
Router(config)#exit
・アクセスリスト1の内容をコンフィグに反映されているか確認する
Router#show access-lists
Standard IP access list 1
10 deny host 192.168.1.3
20 permit any
・PC1のターミナルからRouterにpingが通ることを確認したあとに、コンフィグモードからインターフェイスモードに変更し、アクセスリスト1を設置する
Router(config)#int GIgabitEthernet 0/1
Router(config-if)#ip access-group 1 in
・特権モードで現在の設定からアクセスリストが反映されているか確認する
Router#show run
interface GigabitEthernet0/1
ip address 192.168.1.254 255.255.255.0
ip access-group 1 in
・再度PC1のターミナルからRouterにpingを飛ばし、通らないことを確認する
・PC0からRouterにpingが通ることを確認する
## 検証結果
PC0からRouterへのpingは通るが、PC1は、
アクセスリストによってpingが通らないようになった。
# 疑問
## アクセスリストの順番を変更するにはどうしたらいいか
・アクセスリストを確認
Router#sh access-lists
Standard IP access list 1
10 deny host 192.168.1.3
20 permit any
30 deny host 192.168.1.4
以下コマンドを入力しても何も変更されないことを確認
Router(config)#access-list 1 permit any
### シーケンスを指定して削除する
permit anyのシーケンスを30以下にしたいので、 20のシーケンスであるpermit anyを削除する
Router(config)#ip access-list standard 1
Router(config-std-nacl)#no 20
Router(config-std-nacl)#exit
再度アクセスリスト1を確認
Router#sh access-lists
Standard IP access list 1
10 deny host 192.168.1.3
30 deny host 192.168.1.4
上記にてシーケンス20が削除されていることを確認 ### コンフィグモードに入り、アクセスリスト1に再度 permit any を入力
Router(config)#access-list 1 permit any
再度、アクセスリスト1を確認する
Router#sh access-lists
Standard IP access list 1
10 deny host 192.168.1.3
30 deny host 192.168.1.4
40 permit any
permit any のシーケンスが20から40に変わった
参考
https://www.sejuku.net/blog/54990
concat(列1, ' : ', 列2, ' ', 列3) |
結果
列1:列2 列3
参考
https://xtrend.nikkei.com/atcl/contents/18/00069/00039/
参考
https://medium-company.com/sql-truncate/
デフォルトは昇順(ASK)だから
降順の「DESC」を覚えておくとよい
order by 列 desc
参考
https://medium-company.com/sql-truncate/
・UNION→重複したデータを統合する
・UNION ALL→重複したデータ全て表示
SELECT 列名 FROM 表名1
UNION ALL
SELECT 列名 FROM 表名2
SELECT 列名 FROM 表名2
WHEREの後に NOT IN("A","B");
みたいな。
参考
https://www.sejuku.net/blog/73631
管理者モードでコマンドプロンプトを開き、winsock をリセットすると解決します
PS C:\WINDOWS\system32> wsl.exe --shutdown
PS C:\WINDOWS\system32> wsl.exe
The attempted operation is not supported for the type of object referenced.
PS C:\WINDOWS\system32> netsh winsock reset
Sucessfully reset the Winsock Catalog.
You must restart the computer in order to complete the reset.
PS C:\WINDOWS\system32> wsl.exe
上記を入力後に、再度、usernameを記入すると解決します。
参考
https://oji-cloud.net/2021/04/20/post-6157/
・フィールドの簡素化
・40バイト固定長(基本ヘッダ)
・チェックサムの削除
・フローラベルの追加
・オプション機能は拡張ヘッダで対応
・ルータ(中継機器)でのフラグメント処理を禁止
フローラベル…効率的にアプリケーションフローを識別するためのフィールド
ネクストヘッダ…次のタイプのヘッダを定義する
Ipv6は一つのインターフェースに複数の種類(グローバルユニキャストアドレスやリンクローカルユニキャストアドレスなど)のIPv6アドレスを割り当てて使用できる
Ipv6アドレスが割り当てられるインターフェイス上には必ずリンクローカルアドレスが
割り当てられる
Ipv6のヘッダフォーマット
バージョン | トラフィッククラス | フローラベル |
ペイロード長 | ネクストヘッダ | ホップリミット |
送信元アドレス | ||
送信先アドレス |
IPv6アドレスは128ビットであり、16ビットずつ[:]で区切って
8個のフィールドに分けて16進数で表記する
・各フィールドの先頭は0の省略が可能
・0000は0に省略可能
・0のフィールドが連続する場合は[::]で表現可能
一つのアドレスにつき一回だけ
先頭3ビットが[001]の[2000::/3]で始まるアドレスで
IPv4ののグローバルアドレスに相当する。
先頭10ビットが1111111010[FE80::/10]で始まるアドレス。
物理的に接続されているローカルネットワーク内のみで有効なアドレス
ルータを超えて通信することができません。
IPv4のプライベートアドレスに相当するもの(FC00::/7)
IEEEによって標準化された64ビット超の識別子
MACアドレスを元にして一意なインターフェイスを生成
EUI‐64のインターフェイスはMACアドレスの上位3バイトと
下位3バイトの間に0xFFFEを挿入し、U/Lビットと呼ばれる
先頭から7番目のビットを反転する
先頭ビットが[1111 1111 (FF00::/8)
その後、フラグ(4ビット)スコープ(4ビット)残り112ビットはグループIDとして使用される
フラグはマルチキャストのタイプを表す。
4ビットのうち3ビットが将来のための予約されている領域であり、常に000であり
末尾1ビットがタイプをしめす。
永続的に割り当てられるアドレス:0
一時的なアドレス:1
スコープはマルチキャストパケットの有効範囲を表す
スコープが2
→特定リンクでのみ有効なリンクローカルアドレス
Ipv6マルチキャストアドレスのグループはIpv4マルチキャストアドレスを元に以下のテーブルのようになっている
説明 | IPv4 | IPv6 |
同一リンク上の全ノード | 224.0.0.1 | FF02::1 |
同一リンク上の全ルータ | 224.0.0.2 | FF02::2 |
同一リンク上のOSPFルータ | 224.0.0.5 | FF02::5 |
同一リンク上のOSPF指定ルータ(DR/DBR) | 224.0.0.6 | FF02::6 |
同一リンク上のRIP(RIPng)ルータ | 224.0.0.9 | FF02::9 |
同一リンク上のEIGRPルータ | 224.0.0.10 | FF02::A |
(SLAAC:Stateless Addless Autoconfiguration)
IPv6ホストが自動的にグローバルユニキャストアドレスを生成する方法
DHCPサーバーの必要がない
DHCPサーバーによってIPv6ホストにIPアドレスやDNSなどのネットワーク設定情報を動的に割り当てる
管理者がホストアドレスの管理をしたいときに使われる
ステートフルアドレス設定とも呼ばれる
ステートレスアドレス自動設定ともいう
ルーターはRA(タイプ134)でプレフィックスを通知する
ホストはRS(タイプ133)でプレフィックスを要求する
RAに含まれるプレフィックス長は64ビット
RAの宛先はマルチキャストアドレス(FF02::1)
RIPng(RIP next generation)はディスタンスベクタールーティングであり
RIPv2を受け継いでいるらしい
インターフェイスの確認
#show ipv6 interface
(config)#ipv6 route <ipv6-address>/<prefix-length> {<nexthop> | <interface> } [distance]
例
(config)#ipv6 route 2000::1/128 2013::1/126 10
パケット転送処理の高速化(ヘッダ変更、チェックサム廃止)
ブロードキャストの廃止
アドレス自動設定機能(フラグアンドプレイ)
セキュリティ強化(Ipsecの標準実装)
1台の機器にIPv4とIPv6の両方のアドレスを設定し、IPv4ネットワークと
IPv6ネットワーク間で相互に通信する移行技術
IPv6ネットワーク同士をIPv4ネットワーク経由で、もしくはIPv4ネットワークを
IPv6経由で通信させる技術
IPv4ホストとIPv6ホスト間で通信するために、トランスレータでIPv4パケットと
IPv6パケットを相互に変換する移行技術
アクセスリストはトラフィックを条件によって分類することができる
特定のパケットフローを特定し制御することができる条件リスト
パケットを識別する際に送信元アクセスからのパケットをチェックする
設定は送信元アドレスとワイルドカードでできる。省略も可能
そもそもパケットにはIP、TCP,UDPヘッダがある。
レイヤ3 | 送信元IPアドレス、宛先IPアドレス、プロトコル |
レイヤ4 | 送信元ポート、宛先ポート |
標準アクセスリストでは、レイヤ3の送信元IPアドレスのみチェック
拡張アクセスリストでは、レイヤ3,4全ての項目がチェックできる。
ACLには番号をつけて識別することが可能で標準/拡張ACLによって利用できる番号がわかれている
Ipv4 | 1~99 1300~1999 |
Ipv6 | 100~199 2000~2699 |
ワイルドカードマスクは直前に設定したIPアドレスに対して
「どの部分をチェックするか」を決めるもの。
ACLの条件文でIPアドレスを指定する場合はワイルドカードを使用する
ワイルドカードは32ビットの値で8ビットずつドットで区切って10進数で表す。
0はチェックして、1は無視する
例
全ビットをチェック | 0.0.0.0 |
全ビットを無視 | 255.255.255.255 |
なお、特定のホストアドレスを指定したい場合、host
全てのアドレスを指定する場合、any でも代用可能
例
アクセスリスト[1]で192.168.0.1/24からのパケットを許可した場合
(config)access-list 1 permit 192.168.0.1 0.0.0.255
ACLをインターフェイスへ適用する
ACLを適用したいコンフィグインターフェイスモードに移動して
(config-if)#ip access-group <acl-number> {in | out}
特定の送信元IPアドレスのみ対象のインターフェースの
から転送できないようにする
例 192.168.0.0/24からきたパケットをserial 0/0から転送させない
(config)#access-list <acl-number> deny 192.168.0.0 0.0.0.255
(config)#access-list <acl-number> permit 0.0.0.0 255.255.255.255
(config)#interface serial 0/0
(config-if)#ip access-group <acl-number> out
denyをどの順番を置いたとしても
permitがdenyより先にマッチしてしまうとそこで条件が終了して
denyを無視してパケットが通過してしまう。
なので、条件が細かいものほど先に記述する。
例
deny
deny
permit ここで 通過する。
permit 1ホストのみ
permit 1ホストのみ
deny 上記の合計2ホストにマッチしなかったら拒否
permit any aclには暗黙のdenyがあるため残り全て許可を置く
プロトコル 送信元IPアドレス 送信元ポート 宛先IPアドレス
宛先ポート
プロトコルを決めた後に 送信元のIP、ポート 宛先IP、ポートと
覚えたらよい
(config)#access-list <acl-number> {permit | deny} <protocol> <sr> <wrc> <port>
<sr> <wrc><port>
例 192.168.100.64/24からのサーバ172.16.24.100のSSH接続のみ拒否する場合
(config)#access-list 100 deny tcp 192.168.100.64 0.0.0.255 host 172.16.24.100 eq 22
(config)#access-list 100 permit ip any any
(config)line vty 0 4 (ルータのリモートアクセス用の仮想ポートに移動)
(config-line)#access-class 100 in (access-classに変わるから要注意)
シーケンス番号は低い数値から優先される
(config)#ip access-list extended TEST
(config-ext-nacl)#5 permit ip ~~~
(config)#show access-lists
5 permit ip ~~~
10 deny ~~~
20 deny ~~~
#show access-lists 全てのIPリストを表示
#show ip access-lists <acl-numbers> 特定のACLのみ
#show ip access-lists すべてのIPv4のACLを表示