Load Balance между две интернет мрежи използвайки pfSense
Интро:
pfSense е FreeBSD базирана операционна система, която е насочена към мрежовата администрация – firewall, routing, monitoring, nat и т.н.
В тази статия ще обясня стъпка по стъпка как да инсталирате и настроите pfSense така, че да имате Load Balance между два интернет доставчика за вашата вътрешна мрежа.
Имайте в предвид, че за целта ще ни трябва машина с поне 3 мрежови контролера.
Инсалация на pfSense
Можете да свалите pfSense от основния адрес на проекта – Download , след което го запишете на диск и „бутнете“ машината на която ще го инсталирате от него.
Ще видите следния екран от който трябва да изберете „1“:
След като зареди ще ви пита дали искате да настроите „VLANs“. Изберете „n“:
Както виждате от горната картинка, разполагам с три мрежови интерфейса със следното разпределение:
em0 – за вътрешната мрежа
em1 – интернет от единия доставчик
em2 – интернет от другия доставчик
След горната стъшка инсталатора последователно ще ви попита да зададете LAN интерфейс:
“Enter your LAN interface name”,
– където задавам em0
“Enter your WAN interface name”,
– където задавам em1
“Enter the Optional 1 interface name”,
– където задавам em2
След като зададем горните настройки натиснете „enter“ за да приключим с интерфейсите.
Следва върпрос за това дали желаете да се приемат настройките, на който трябва да отговорите с „y“:
с което текущите настройки приключиха.
Следва да бъде извършена инсталацията върхи хард диска на машината. За целта е необходимо да изберете опция „99“:
От тук стъпките са както следва ( имайте в предвид, че следвайки тези стъпки ще изтриете цялата информация на диска ):
1. < Accept these Settings >
2. < Quick/Easy Install >
3. В зависимост от това дали имате един или повече процесора избирате между опция 1 и 2 от следния прозорец:
4. Рестартирайте, като се уверете, че машината „бутва“ от хард диска вече.
Ако сте настроили всичко коректно и инсталацията е минала успешно би трябвало да видите нещо подобно на следното:
Настройка на pfSense:
Настройките се извършват изцяло през web базиран интерфейс, който можете да достъпите през LAN интерфейса на IP отговарящ за вашия LAN адрес.
В моя случай това е http://192.168.1.210 като предварително промени IP адреса от конзолните настройки – опция „2“.
Web интерфейса първоначално се достъпва с следните потребител и парола:
Потребите: admin
Парола: pfsense
С първото си влизане е необходимо да минете през тъй наречения „Wizard“ с който да зададете Hostname, DNS сървъри ( Важно е за DNS1 да изберете такъв от WAN1, а за DNS2 – от WAN2 ), чесова зона, настроите WAN и LAN интерфейса и да смените паролата за вход. Ако решите в последствие да правите промени по тези настройки, то от Web базирания интерфейс на System -> General Setup можете да го направите.
Следващата стъпка е да настроим DNS forwarder, което се прави от Services -> DNS forwerder
Трябва да изберете опциите, които са избрани и от приложената снимка:
От Interfaces -> OPT1 е необходимо да настроите втората интернет връзка ( връзката от втория интернет доставчик ). Желателно е да използвате статични IP адреси.
Ето как изглежда при мен:
Следва настройката на Load Balance правилата.
Трябва да създадем три правила:
1. Когато и двете WAN мрежи работят
2. Когато WAN1 се прекъсне, трафика да минава през WAN2
3. Когато WAN2 се прекъсне, трафика да минава през WAN1
Настройките се правят от Services -> Load Balancer и избирате бутончето „+“ за добавяне.
Примерна таблица с настройките:
Setting | Pool 1 | Pool 2 | Pool 3 |
---|---|---|---|
Pool name | LoadBalance | WAN1FailsToWAN2 | WAN2FailsToWAN1 |
Description | Round Robin load balancing | WAN 2 preferred when WAN 1 fails | WAN 1 preferred when WAN 2 fails |
Type | Gateway | Gateway | Gateway |
Behavior | Load Balancing | Failover | Failover |
Port | Unused | Unused | Unused |
1st Monitor IP | DNS server 1 | DNS server 2 | DNS server 1 |
1st Interface name | WAN | WAN2 | WAN |
2nd Monitor IP | DNS server 2 | DNS server 1 | DNS server 2 |
2nd Interface name | WAN 2 | WAN | WAN2 |
За даботят гореспоменатите настройки е необходимо от System -> Static Routes да създадете статични пътища за двата DNS сървъра. Също така DNS1 не трябва да бъде достъпван от WAN2 и обратното.
Препоръчително е от System -> Advanced от секцията „Load Balancing“ да изберете „Use sticky connections“.
Следва настройката на защитната стена.
Настройката се прави от Firewall -> Rules.
За по-удобно извеждам примерните настройки в табличен вид:
Rule | Load Balance | WAN 1 | WAN 2 |
---|---|---|---|
Position in rule list | Last | Top | Top(-1) |
Action | Pass | Pass | Pass |
Disabled | Unchecked | Unchecked | Unchecked |
Interface | LAN | LAN | LAN |
Protocol | any | any | any |
Source | LAN subnet | LAN subnet | LAN subnet |
Source OS | any | any | any |
Destination | any | network: 192.168.0.0 / 24 |
WAN2 subnet |
Log | no | yes temporarily (see below) | yes temporarily (see below) |
Schedule | none | none | none |
Gateway | LoadBalance | default | default |
Description | Everything else gets shared out | Make sure WAN 1 traffic goes to right interface | Make sure WAN 2 traffic goes to WAN2 interface |
С това завършва това опътване. За вас остава да тествате дали превключването между мрежите работи.
Работа с RRDtool Решаване на проблем свързан с dbus