コンテンツへスキップ

概要

スイッチに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に変わった

DISTINCT
重複行を1行にまとめる

参考
https://www.sejuku.net/blog/54990

CONCAT
文字列を結合する

concat(列1, ' : ', 列2, ' ', 列3) |

結果
列1:列2 列3

参考
https://xtrend.nikkei.com/atcl/contents/18/00069/00039/

TRUNCATE
テーブルを再作成する
データを一つずつDELETEと違い、削除が高速。
ただしロールバックはできない。

参考
https://medium-company.com/sql-truncate/

order by
ソート機能

デフォルトは昇順(ASK)だから
降順の「DESC」を覚えておくとよい


order by 列 desc

参考
https://medium-company.com/sql-truncate/

UNION/UNION ALL
複数の検索結果をまとめる。

・UNION→重複したデータを統合する
・UNION ALL→重複したデータ全て表示

SELECT 列名 FROM 表名1
UNION ALL
SELECT 列名 FROM 表名2

NOT IN
対象の行を含めない

SELECT 列名 FROM 表名2

WHEREの後に NOT IN("A","B");
みたいな。

参考
https://www.sejuku.net/blog/73631

解決方法

管理者モードでコマンドプロンプトを開き、winsock をリセットすると解決します

1.コマンドプロンプトを右クリックで「管理者として実行」を選択

2.コマンドプロンプトで以下コマンドを入力する

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/