IPFireを試す

# IPFire(Linux Firewall Distribution)を試す
フリーのFirewall Distributionに触れてみようと調べると、OPNSenseあたりが最初に見つかる。どうもFreeBSD系のDistributionが、Firewall系では有力のように思えたが、なんとなく、Linux系のものであるIPfireを選んだ。

## IPFire
本家サイトは、こちら（[IPFire](https://www.ipfire.org/)）である。
- [IPFire Wiki](https://wiki.ipfire.org/)

## インストール
ダウンロードしたISOファイルをもとにインストールをすすめる。ISOファイルはUSBスティックに書き込み。

### 環境
自作PCのマザーボードにEthernetが１ポートあり、拡張LANカードのEthernetが２ポートある状況。
- [Side3 Gigabit LANカード インテル 82576チップ PCI-E接続 (RJ45 デュアルポート)](https://www.amazon.co.jp/gp/product/B086HRPXZG/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&th=1)

### つまづき
自作PCには、SATAのディスクが複数接続されている状態であった。IPFireをあるSATAディスクにインストールするのであるが、別のSATAディスクにブート関連の情報が書かれてしまい、そのディスクの情報が一部紛失。今まで数多くのLinux DistributionやWindowsをインストールしてきたが、このような状況は初めて。OSインストール時には注意すべし。

### インストールから基本ネットワーク設定
USBスティックから起動。インストール中のいくつかの表示を記載。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/92cc7604-867e-c83b-edd5-f9b89d174b18.png", width=80%>
残念ながら日本語は存在せず。英語で続ける。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/75f5b9af-98bf-261c-c7dd-268ff7423b02.png", width=70%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/c4975e94-5c4a-92ad-403c-fc8d1f5c6cff.png", width=70%>
"Paritition"削除＆"Ext4"選択。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/6eb1e76f-0b20-d89e-7238-8b2460dfb0c3.png", width=80%>
"Install"完了＆リブート。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/da349569-4ff3-834c-925a-0a655c0efbd0.png", width=80%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/470a770b-1a0f-70dc-6625-99ff929a429e.png", width=80%>
"Host Name"&"Domain Name"入力。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/a6959993-171c-4e79-07b1-55c3d40ce4a5.png", width=80%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/721dfebe-1be8-7b67-c34d-dd639c06b295.png", width=80%>
rootおよびadmin(webからの設定用)アカウント設定。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/74adea7a-a3da-4de7-f548-56d8ff5d5c7f.png", width=80%>
おそらくIPFire独特のもので、各Network(NIC、Zone)の識別として、カラーを用いる。後述するが、"RED"がWAN側に相当するようだ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/7be8c9bc-0cb3-7a50-0783-6ddedcc8e057.png)
カラーとNICとを結びつける。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/7006c0ec-4e9c-45c9-c867-033b4dcdb9e7.png", width=80%>
ここでは、RED(WAN側)のネットワーク情報はDHCPにより取得。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/cefcf738-6c6e-2428-c0b5-c309ae7d5c94.png", width=80%>
GREEN（LAN側）は固定IPアドレス（ORANGEも同様）。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/72ef062c-c44c-b189-9930-18458f1abe70.png", width=80%>
LAN側にDHCPサーバー設定を実施。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/8e3f2364-f1b3-e194-7106-bb18a948af80.png", width=60%>
設定完了。

## 設定
Webから各種設定を実施。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/bf31f0cc-b02f-a405-bdae-67f016e00ce5.jpeg", width=70%>
まずはLAN側からアクセスするが、ポート番号に”81”を指定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/f12c3de4-b970-be42-abb9-7b6263d7a0a8.png)
ポート番号”444”にリダイレクト。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/1dbb70fe-1c91-2caf-b059-6cb0a267c730.png", width=70%>
さきほど設定したadminアカウントの利用。
![4th.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/4af29f24-2b2f-21bd-3253-0112235d1c30.jpeg)
トップ画面が表示される。

### Firewall設定
![FirewallRule1.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/501685fb-1867-f1ff-8c15-3b4ae46da28a.jpeg)
”New rule”クリック。
![FirewallRule2のコピー.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/3a66936e-025f-3a53-5ca9-29e822e180ca.jpeg)
ここでは、WAN側（192.168.2.0/24）からのWebアクセス（TCP：81,444）を許可する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/636b71f1-8ce4-a91f-d6a8-eaf546e37003.png)
最終設定前の状況。緑色は許可（Accept）を示す。Zoneのカラー赤とBlockedの赤とが同じ色でわかりにくい、、、。”Apply changes”で適用する。

## その他
### Firewall設定での国や地域の選択可
![@Location.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/db9dde0e-d001-c077-d99d-b2a63b4ddbaa.png)

### sshアクセス設定
![@sshAccess.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/62951d21-11d1-1969-d29f-e55f6da6fec8.png)

### 特定ポートのReject
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/d4067a9c-b266-0e4f-5a27-7a83b4fbe37e.png)
”172.16.10.0/24”から”192.168.2.0/24”へのTCPポート1000へのアクセスを拒否（Reject）。左側の赤が拒否を示している。

ネットワークをZoneとして、色付けしていること自体が、わかりにくい。

EOF