---
# System prepended metadata

title: Cisco パケットフィルタリング

---

# Cisco パケットフィルタリング

### 基本

1. アクセスリストをつくる
2. アクセスリストをどのインターフェースのどの向きに設定するか決める

```jsx
ip access-list standard 10
```

```jsx
permit any // どれでも通す
```

```jsx
deny host — // 指定したものだけ通さない
```

要点

- 暗黙のdenyで全部否定
- 通さないIPアドレスだけdenyで指定
- その他はpermit anyで通す

### 作成したアクセスグループを適用する

```jsx
Router(config)#int fastEthernet 0/0　//インターフェースに入る

Router(config-if)#ip access-group 30 in //inもしくはout
```

インターフェース0/0 左　に設定を適用

**最初に追加されたほうが上に表示される**

### 戻らずに設定を表示する方法

```jsx
// Config中でいろいろ表示できる
do sh run
do sh ip acc
```

### https

```jsx
permit tcp any any eq 443
```

### http ブロックする

```jsx
deny tcp any any eq www
```

### established

http, httpsの通信を受ける側

誰かから話しかけられた時だけ反応する

```jsx
permit tcp 192.168.1.128 0.0.0.127 eq 443 192.168.3.0 0.0.0.127 established 
//　返信を許可することで相手側がhttpsを表示できるようにする（サーバが応答しないと表示されないため）
//　CのPCとAのサーバー間はhttpsなので、443を使う　httpの応答はwww
// パケットの発信側（サーバ側）のプロトコルがhttps
// => (サーバー) eq 443
```

## 第1週？

### ワイルドカード・ビット

```jsx
192.168.1.2  0.0.0.1 // 192.168.1.2と192.168.1.3
// 32ビット中のLSBが0でも1でも良い

// 192.168.1.2 ～ 192.168.1.30を指定する
// 0と1と31 はダメ
// access-list standartに入る
deny 192.168.1.0 0.0.0.1 //0と1を拒否
deny host 192.168.1.31 //31を拒否
permit 192.168.1.0 0.0.0.31 
```

![Untitled](Cisco%20%E3%83%8F%E3%82%9A%E3%82%B1%E3%83%83%E3%83%88%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%99%20298d367eb17c445aa63fcc6a85894f57/Untitled.png)

(2つのグループのネットワークは同じ)

### 偶奇によるパケットフィルタリング

ネットワークAのうち偶数のアドレスのPCはネットワークBのサーバにhttpでアクセスできない

それ以外は何でも通信できる

```jsx
// 202.24.246.0~127の内の偶数
deny tcp 202.24.246.0 0.0.0.126 202.24.247.128 0.0.0.127 eq www
	// (Bに)送信されるhttpパケット(= www)を拒否
permit ip any any //すべてを許可
```

## 第4週目

1. **パソコンからはパソコンへ**
    
    サーバからはサーバへ
    
    pingだけが届くように設定
    

**pingの送信と返信を許可する (PCのみ)**

```jsx
permit icmp 202.24.246.0 0.0.0.127 202.24.247.0 0.0.0.127 echo
permit icmp 202.24.246.0 0.0.0.127 202.24.247.0 0.0.0.127 echo-reply
```

1. **3つのルータ(三つ巴)でpingフィルタリングする**
    - R3だけwildcardで省略できない(1.0と2.0のIpアドレスがビットと被るため）
        - (1: 1, 2: 01, 3; 11)

```jsx
permit udp any any eq 520 //ripのパケットを通すための処理（時差トラップ対策）

// A-B, A-C間のPC-PC許可
permit icmp 192.168.1.0 0.0.0.127 192.168.2.0 0.0.1.127 echo
permit icmp 192.168.1.0 0.0.0.127 192.168.2.0 0.0.1.127 echo-reply

// サーバ-サーバを許可
permit icmp 192.168.1.128 0.0.0.127 192.168.2.128 0.0.1.127 echo 
permit icmp 192.168.1.128 0.0.0.127 192.168.2.128 0.0.1.127 echo-reply 
```

Aのルータでの設定

## 第5週目

```jsx
ip access-list extended
```

- A-B間は全ての通信を許可
- A-C間
    - AのPCとCのPCは相互にping通信できる
    - AのサーバとCのサーバは相互にping通信できる
    - AのPCはCのサーバとhttp通信できる
    - CのPCはAのサーバとhttps通信できる
    - 上記以外はNG
- B-C間
    - pingで相互に通信できない
    - それ以外はOK

### 左側のルータ

```jsx
permit icmp 192.168.1.0 0.0.0.127 192.168.3.0 0.0.0.127 echo　//ping相互通信PC
permit icmp 192.168.1.0 0.0.0.127 192.168.3.0 0.0.0.127 echo-reply

permit icmp 192.168.1.128 0.0.0.127 192.168.3.128 0.0.0.127 echo //ping相互通信サーバ
permit icmp 192.168.1.128 0.0.0.127 192.168.3.128 0.0.0.127 echo-reply

permit tcp 192.168.1.0 0.0.0.127 192.168.3.128 0.0.0.127 eq www //PC-サーバhttp通信
permit tcp 192.168.1.128 0.0.0.127 eq 443 192.168.3.0 0.0.0.127 established //サーバ-PChttps接続

deny ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255 //それ以外はNG

// AB間の設定
deny icmp 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255 echo　
deny icmp 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255 echo-reply
permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255

```

### 右側のルータ
左側のフィルタリングだけで事足りそう

## 第6週目

### 指定行だけ消す

```jsx
// access-list入る
no 40 deny icmp 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255 echo //40行目を消す
40 deny icmp 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255 echo　
```

### テスト気を付ける点

- デフォルトゲートウェイを忘れない
- クロスケーブル
    - スイッチとPC間はストレートケーブル
    - ルータとルータ間はクロスケーブル
    - ルータとPCはクロスケーブル
- httpsのポート番号は443
- インターフェースｎアクセスリストを適応する

## 8週目

- インターネットからはAのサーバにhttp通信
- インターネットからはBのサーバにhttps通信
- インターネットからはCのサーバにping通信
- AのPCはインターネットにhttpで通信できる
- BのPCはインターネットにhttpsで通信できる
- CのPCはインターネットにpingで通信できる
- 上記以外は全てNG

```jsx
// extend 100
permit udp host 150.100.3.129 any eq 520 // ripを通す (ルーティング情報の更新)
permit tcp any 202.24.240.128 0.0.0.127 eq www
permit tcp any 202.24.241.128 0.0.0.127 eq 443
permit icmp any 202.24.242.128 0.0.0.127 echo
permit tcp any eq www 202.24.240.0 0.0.0.127 established
permit tcp any eq 443 202.24.241.0 0.0.0.127 established
permit icmp any 202.24.242.0 0.0.0.127 echo-reply //PC宛ての返答を許可

// 適応するルータはどっちでも良いけどinにする．
```

```jsx
// extend 110

//100で　anyで通す設定にしているため, まずはdenyして止める
deny ip 202.24.240.0 0.0.0.255 202.24.241.0 0.0.0.255 
deny ip 202.24.240.0 0.0.0.255 202.24.242.0 0.0.0.255 
permit tcp 202.24.240.0 0.0.0.127 any eq www　
permit tcp 202.24.240.128 0.0.0.127 eq www any established //サーバから外部
```

```jsx
// extend 120
deny ip 202.24.241.0 0.0.0.255 202.24.240.0 0.0.2.255 
permit tcp 202.24.241.0 0.0.0.127 any eq 443
permit tcp 202.24.241.128 0.0.0.127 eq 443 any established
```

```jsx
// extend 130
deny ip 202.24.242.0 0.0.0.255 202.24.240.0 0.0.1.255
permit icmp 202.24.242.0 0.0.0.127 any echo //Cからインターネットに対してechoを通す
permit icmp 202.24.242.128 0.0.0.127 any echo-reply
```

```

ルーティング情報が正しく取得できていれば、

sh ip routeの部分が30秒より大きくなることはない



### 過去問メモ
大問１
PC : 34 - 35

サーバ : 32 - 33

```jsx
// A left
// 0/0 in
permit icmp 172.16.32.0 0.0.3.255 172.17.32.0 0.0.3.255 echo 
permit icmp 172.16.32.0 0.0.3.255 172.18.32.0 0.0.3.255 echo 
permit icmp 172.16.32.0 0.0.3.255 172.17.32.0 0.0.3.255 echo-reply 
permit icmp 172.16.32.0 0.0.3.255 172.18.32.0 0.0.3.255 echo-reply 
permit tcp 172.16.34.0 0.0.1.255 172.18.32.0 0.0.1.255 eq www 
permit tcp 172.16.32.0 0.0.1.255 eq 443 172.17.34.0 0.0.1.255 established
permit tcp 172.16.32.0 0.0.1.255 eq www 172.18.34.0 0.0.1.255 established
 
// B above 17
// 0/0 in
permit icmp 172.17.32.0 0.0.3.255 172.16.32.0 0.2.3.255 echo 
permit icmp 172.17.32.0 0.0.3.255 172.16.32.0 0.2.3.255 echo-reply 
permit tcp 172.17.34.0 0.0.1.255 172.16.32.0 0.0.1.255 eq 443
permit tcp 172.17.32.0 0.0.1.255 eq www 172.18.34.0 0.0.1.255 established
 

// C above
// 0/0 in
permit icmp 172.18.32.0 0.0.3.255 172.16.32.0 0.1.3.255 echo 
permit icmp 172.18.32.0 0.0.3.255 172.16.32.0 0.1.3.255 echo-reply 
permit tcp 172.18.32.0 0.0.1.255 eq www 172.16.34.0 0.0.1.255 established
permit tcp 172.18.34.0 0.0.1.255 172.16.32.0 0.1.1.255 eq www

 
```