Problem: Mikrotik allows only one ipsec policy per network-to-network pair. If you want to have redundant tunnels between two locations with two upstreams you cannot configure ipsec redundancy on Mikrotik because one ipsec policy is always marked as “invalid” by the OS.
Solution: I made a Mikrotik script that checks the status and reachabilty of the ipsec tunnel and endpoint, and switches between a primary and secondary tunnel policy and peer. You can add this script to the scheduler, for automatic failover. (Source: “/system script run 0” if this script is script “0”)
Problem: Two FortiGate firewall show “not synchonized” in the HA status.
Discussion: the problem with this is, that FortiGate does not show why it fails. I found no log file with a reasonable error message. So I tried to synchronize the config myself, which is exactly what should NOT be necessary when using HA synchronization.
Solution: When an ipsec-phase1 setting in the master is removed while the slave is not online, the ipsec-phase1 removal fails during synchronization. Why Fortinet, doesn’t your box log this? Removing the phase1-section by hand did not work ether:
FortiGate-Master # execute ha manage 1
FortiGate-Slave $ config vpn ipsec phase1-interface FortiGate-Slave (phase1-interface) $ delete VPN-PEER This phase1-interface is currently used command_cli_delete:5937 delete table entry VPN-PEER unset oper error ret=-23 Command fail. Return code -23
Like with most cheap software I had to reboot the slave, and then I could remove the phase1-interface section, and then the synchronization worked again.
I don’t remember if I ever had to reboot a Cisco or Linux box to fix a bug.
After unboxing and starting two Fortigate 100E firewalls the following things failed. Fortinet should really work on QA I think:
When starting the Webgui for the first time the box asks to register or login to activate the box. I tried to register and the box asks so many questions, doesn’t Fortinet know GDPR ? Don’t force users to enter data that you don’t need to provide your service. We are not talking about a free service that tries do sell ads. This is a paid product , I don’t want to give you information about my company the number of employs and so on.
The registration on the box itself does not work, after filling out the form and clicking “OK” nothing happens, no error message. no response.
After registering on the Fortinet webpage, I entered login/password, the system complained about “username password wrong”. This error message was wrong, because it actually activated the box, despite the error message.
Then I tried to update the software (was 6.02). First the System Firmware page said there is no update. I downloaded a new version. When coming back some minutes later the “firmware” page says, that there is an update. (6.03). I installed it with a mouse click.
Then I tried the update on the second box. Some behavior “there is no update” wait some minutes “there is an update”. But now 15 minutes after the first update it says 6.04!
Start over with the first box. Which says there is not update for 6.03. This time I used the downloaded update from the Fortinet website.
Then I tried to connect them to a cluster. I tried several settings double, tripple checked cluster name, password, percentages. No success no error messages.
While checking back and forth, I was connected to one mgmt port directly and to the WAN side of the other box using the local notebooks WLAN. I recognized that the box connected to WAN often lost the connection. The reason: both boxes seem to have the same MAC and therefor the same IP! Two boxes not connected to a cluster have the same MAC? Fortinet, really ?
The cluster was still not connected. No error message, no hint, until I recognized that HA1 was connected to HA2 of the second box, and the other way round. After swapping cables the cluster nodes saw each other. Why does this matter ? And if the developers think I is ok to let the sysadmins swap the cable for them, why is there no reasonable logfile information. I didn’t find any.
Cluster was still not in sync, I had to enter a CLI execute command to activate synchronization
I work a lot with hardware from different vendors like Cisco, F5, Juniper, HP Flexfabric, Ubiquiti, Mikrotik. This user experience was the worst in the last years.
Problem: F5 iRules with “class match” crash sometimes with this message:
/Common/UA_DETECT – ambiguous option “-“: must be -all, -index, -element, -name, or -value while executing “class match [string tolower [HTTP::header User-Agent]] contains UA_STRINGS”
Discussion: the class match command has optional parameters, when the HTTP header User-Agent starts with a “-” it gets intepreted by the tcl interpreter. This is dangerous, because it’s actually a kind of code injection, with possible terrible impact.
Solution: add “‐‐” as first parameter to the class match command
class match ‐‐ [string tolower [HTTP::header User-Agent]] contains UA_STRINGS
Problem: After upgrading a system to NVME, Linux boots without textconsole, or sends the text console to the wrong graphics card.
Discussion: The NVME upgrade needed to change from BIOS boot to UEFI boot. UEFI boot disables the pure text console, and the kernel uses whatever frame buffer is available, or without text console if no frame buffer is available. That means the kernel config item “CONFIG_VGA_CONSOLE” does not work any longer in UEFI, at least on my hardware.
Solution: I activated a framebuffer console driver with this kernel config item: CONFIG_FB_EFI
Versions: Debian9, Linux 4.9, ASUS Z170-A, Nvidia GPU