雙外網防火牆環境設定規劃

之前設定防火牆大都只是單一條數據線路, 單一個 DMZ 區的設定, 但隨著數據線路的價格下滑, 現在的公司大部分的公司都應該有兩條以上的數據線路, 那先前的防火牆架設方式, 還可以套用在兩條以上的環境嘛?  當然有些高階的防火牆是可以有多組 WAN Port 的設定 (甚至可以自行指定 Port 的用途), 那免費的 Linux Base 或是低階的防火牆就沒有第二春嘛?

為瞭解決這個問題所以想了一個變化的架構, 如果有時間跟機器的話再來實作看看, 目前假設的環境是 A 公司有申請兩條網路, 第一條 (ADSL 1)只要是提供網路服務使用 (如 Mail / Web / Voip 等等), 第二條 (ADSL 2) 主要是提供給一般員工上網使用.

A 公司的網站及郵件伺服器及 VOIP 主機都是自行管理, 以上的服務都必須要有 Internet 上面的位址(IP), 必須透過防火牆的 Port forward 的功能穿透到 DMZ 區, 讓這些服務可以在Internet上被使用者存取.

架構圖
架構圖

環境假設
內部網路網段
IP Range: 192.168.1.1~253
Gateway: 192.168.1.254 (Utangle2)
Netmask: 255.255.255.0

DMZ網段
IP Range: 192.168.2.1~253
Gateway: 192.168.2.253 (Utangle1)
Netmask: 255.255.255.0

ADSL1 <主要提供網路服務>
IP Range: 59.0.2.0~253
Gateway: 59.0.2.254 (Utangle1)
Netmask: 255.255.255.0

ADSL2 <提供人員上網>
IP Range: 59.0.1.0~253
Gateway: 59.0.1.253 (Utangle2)
Netmask: 255.255.255.0

個人覺得設定起來會發生內部 User 讀取 DMZ 的資料會發生問題, 因為 DMZ default gateway 設定到 Utangle1, 所以資料有可能會傳不會到內部網路, 但是 Utangle1 本身也有內部網址, 有機會把網路封包在丟回到內部網路中.

第二個不確定點在於如果由 ADSL 2進來的要到DMZ 區, 會遇到封包會往 Utangle1 跑而不是 Utangle2, 此時就必須要在 Utangle1 加上對 ADSL2 出去的封包 Route 回 Utangle2, 讓封包可以走原來的線路回去.

此種做法可以有某種程度的備援機制, 因為兩條 ADSL 都可以透過防火牆的機制, 都有辦法利用 Port Mapping 的方式由 Internet 連結到DMZ區內的電腦, 例如 Mail 服務就可以設定兩個 MX records, 考量公司內員工上網速度, 可以先關閉 Utangle2 的 Port Mapping 服務, 萬一 ADSL1 斷線, 立即把這個功能打開, Mail 就會立即走 ADSL 2 進入到 DMZ 區;  此時也要記得要把 Mail 的 Gateway 設定到 Utangel2 去, 讓寄出去的 Mail 也能夠透過 ADSL2 寄出.

網站的就比較麻煩, 修改 DNS 設定可能會須要到兩天的更新時間, 到時應該 ADSL 1 都已經被修復, VOIP除了 firewall 設定由 ADSL2 進出外, 因為牽扯到要修改所有 VOIP 主機的對應 Table, 修改啟來會很麻煩, 或者可以考量使用 DDNS 來達到動態且快速的更新.

以上沒有實作純屬規劃, 如果有誤請來信指正.

發表迴響