設定RB750Gr3防火牆讓子網段的設備互相存取
===
###### tags: `Router`
## 前言
RB750Gr3預設的防火牆規則只接受來自LAN介面的設備互相存取
在預設的Interface List中, RB750Gr3把ether2~ether5跟橋接的bridge歸類為LAN,
ether1跟pppoe-out1則被歸類為WAN, 我們可以從*Interface->Interface List*分頁看到以下內容:
```
# LIST INTERFACE
0 ;;; defconf
WAN ether1
1 WAN pppoe-out1
2 LAN ether2
3 LAN ether3
4 LAN ether4
5 LAN ether5
6 LAN bridge
```
以下面的網路拓墣為例, 在預設的防火牆規則下PC可以存取NAS,
但NB要存取NAS就會被防火牆擋住, 因為封包來自ether1, 而ether1在阻擋名單內
因此我們可以修改防火牆規則, **讓來自ether1的封包不會被防火牆阻擋即可**
當然也有其他做法, 像是直接把ether1歸類到LAN會更簡單, 不過個人偏好使用修改防火牆規則的做法
## 網路拓墣
{%hackmd s1x7XDQzSWmym0gE8IKQNQ %}
## 正文開始
進入RB750Gr3的設定頁面, 點選左邊的*IP->Firewall*叫出*Firewall*設定頁面,
找到標題為*defconf: drop all not coming from LAN*這條規則, 我們先把它Disable
因為這條規則的關係, 讓所有不是來自LAN的封包(包含ether1)都會被丟棄而無法接收
```
6 X ;;; defconf: drop all not coming from LAN
chain=input action=drop in-interface-list=!LAN log=no log-prefix=""
```
新增一條跟上面一條很像的規則放到原本規則的上面或是下面都可以
也可以直接修改原本規則中的in-interface, 改成pppoe-out1
```
7 ;;; drop all coming from pppoe
chain=input action=drop in-interface=pppoe-out1 log=no log-prefix=""
```
再來找到標題為*defconf: drop all from WAN not DSTNATed*這條規則, 我們一樣先把它Disable
因為這條規則的關係, 讓所有來自WAN的封包(包含ether1)都會被丟棄而無法轉發
```
14 X ;;; defconf: drop all from WAN not DSTNATed
chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface-list=WAN log=no log-prefix=""
```
新增一條跟上面一條很像的規則放到原本規則的上面或是下面都可以
也可以直接修改原本規則中的in-interface, 改成pppoe-out1
```
15 ;;; drop all from pppoe not DSTNATed
chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface=pppoe-out1 log=no log-prefix=""
```
最後增加可以讓ICMP封包在NAT被轉發的規則
```
13 ;;; defconf: accept ICMP
chain=forward action=accept protocol=icmp log=no log-prefix=""
```
這樣就完成了防火牆的設定, 現在其他子網段的設備要存取RB750Gr3下的設備就不會被防火牆阻擋了
:diamond_shape_with_a_dot_inside:Cyui