Hi,
I have a FreeBSD machine which acts as a router/DHCP/DNS server. I also have two uplinks to two different ISPs. I'd like to implement failover for the two WAN uplinks to provide the LAN clients behind with a more stable internet connection.
While starting to research this came around this forum thread pretty quickly. My setup is exactly the same as the one show in the OP's post. For the sake of simplicity, I allow myself to steal his illustration (with changed IPs and interface names):
While reading I always come around lagg() (which is also the entire content of the first post in the linked forum thread). I did read about lagg() and I think that I have a pretty good understanding to how it works. However, I fail to understand how this helps in this scenario. My FreeBSD box is connected to two routers (which is provided by each ISP) that I am running in DMZ/bridge mode. If I understand correctly, lagg() checks the port connectivity state to act upon it. However, the connection between each router and my FreeBSD box is always working, even if my ISP is dead (or somebody tripped over the fiber cable).
My question: Is this correct or am I misunderstanding? If lagg() is the way to go, how does it exactly work?
I'd appreciate any kind of help on this.
I have a FreeBSD machine which acts as a router/DHCP/DNS server. I also have two uplinks to two different ISPs. I'd like to implement failover for the two WAN uplinks to provide the LAN clients behind with a more stable internet connection.
While starting to research this came around this forum thread pretty quickly. My setup is exactly the same as the one show in the OP's post. For the sake of simplicity, I allow myself to steal his illustration (with changed IPs and interface names):
Code:
NETWORK PROVIDER 0 NETWORK PROVIDER 1
\ /
\ /
\ /
\ /
\ /
Router 0 Router 1
192.168.2.1 192.168.3.1
\ /
+------\----------------/------+
| \ / |
| igb0 igb1 |
| 192.168.2.2 192.168.3.2 |
| |
| FreeBSD Box |
| |
| ix0 |
| 192.168.1.1 --|------------- Switch
| |
+------------------------------+
While reading I always come around lagg() (which is also the entire content of the first post in the linked forum thread). I did read about lagg() and I think that I have a pretty good understanding to how it works. However, I fail to understand how this helps in this scenario. My FreeBSD box is connected to two routers (which is provided by each ISP) that I am running in DMZ/bridge mode. If I understand correctly, lagg() checks the port connectivity state to act upon it. However, the connection between each router and my FreeBSD box is always working, even if my ISP is dead (or somebody tripped over the fiber cable).
My question: Is this correct or am I misunderstanding? If lagg() is the way to go, how does it exactly work?
I'd appreciate any kind of help on this.