Allow multiple ports for high-availability virtual-server
Request from the [[ https://forum.vyos.io/t/multiple-ports-for-high-availability-virtual-server/ | forum ]]
The current implementation allows using only one "virtual" port and several real servers ports
```
set high-availability virtual-server 203.0.113.1 port '8888'
set high-availability virtual-server 203.0.113.1 protocol 'tcp'
set high-availability virtual-server 203.0.113.1 real-server 192.0.2.11 port '80'
set high-availability virtual-server 203.0.113.1 real-server 192.0.2.12 port '80'
```
The syntax can be with rules:
```
set high-availability virtual-server 203.0.113.1 rule 10 port '8280'
set high-availability virtual-server 203.0.113.1 rule 10 protocol 'tcp'
set high-availability virtual-server 203.0.113.1 rule 10 real-server 192.0.2.11 port '80'
set high-availability virtual-server 203.0.113.1 rule 10 real-server 192.0.2.12 port '80'
set high-availability virtual-server 203.0.113.1 rule 20 port '443'
set high-availability virtual-server 203.0.113.1 rule 20 protocol 'tcp'
set high-availability virtual-server 203.0.113.1 rule 20 real-server 192.0.2.11 port '443'
set high-availability virtual-server 203.0.113.1 rule 20 real-server 192.0.2.12 port '443'
```
keepalive config
```
# Virtual-server configuration
virtual_server 203.0.113.1 8280 {
delay_loop 10
lb_algo lc
lb_kind NAT
persistence_timeout 300
protocol TCP
real_server 192.0.2.11 80 {
weight 1
TCP_CHECK {
}
}
real_server 192.0.2.12 80 {
weight 1
TCP_CHECK {
}
}
}
virtual_server 203.0.113.1 443 {
delay_loop 10
lb_algo lc
lb_kind NAT
persistence_timeout 300
protocol TCP
real_server 192.0.2.11 443 {
weight 1
TCP_CHECK {
}
}
real_server 192.0.2.12 443 {
weight 1
TCP_CHECK {
}
}
}
```