OpenVPN with two public IP addresses

Hello,
Suppose you have an OpenVPN server. Now, you want to set two public IP addresses on it. Your public IP addresses are:

1.2.3.4
1.2.3.5

Your OpenVPN server has one NIC as below:

# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::a00:27ff:feed:b47c  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:ed:b4:7c  txqueuelen 1000  (Ethernet)
        RX packets 14915  bytes 2455731 (2.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11701  bytes 1581492 (1.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 4  bytes 336 (336.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 336 (336.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Can you show how to prepare your OpenVPN server step by step? For example, You must first create a virtual network card and…

I’m sure this thread is useful for many users.

Thank you.

One way (which I did not mention on the CentOS forum where you did ask the same question) is to use virtual machines.

Have no (public) IP address on the host. Create two VM guests. Each guest gets one public IP address (and are bridged to external subnet). Each guest runs OpenVPN server. Since the OpenVPN processes are in “different machines”, their configs should be trivial.