I have a dedicated server running proxmox with a mixed configuration, NAT based network configuration for all VM's and routed network (brouter according to hetzner docs) (see below) for one particular VM. One NIC
one public main IP (94.x.x.A
) and an extra ordered second public IP (94.x.x.B
) basically on the same interface. I also have a virtualised opnsense/pfsense VM which uses vmbr10 and vmbr11 as WAN and LAN.
auto enp0s31f6
iface enp0s31f6 inet static
address 94.x.x.A
netmask 255.255.255.192
pointopoint 94.x.x.x
gateway 94.x.x.x
mtu 1500
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
post-up iptables -t nat -A PREROUTING -i enp0s31f6 -p tcp -d 94.x.x.A -m multiport ! --dport 22,8006,179 -j DNAT --to 10.10.10.2
post-up iptables -t nat -A PREROUTING -i enp0s31f6 -p udp -d 94.x.x.A -m multiport ! --dport 5405:5412,4789 -j DNAT --to 10.10.10.2
auto vmbr1
iface vmbr1 inet static
address 94.x.x.A
netmask 255.255.255.255
bridge_ports none
bridge_stp off
bridge_fd 0
pre-up brctl addbr vmbr1
up ip route add 94.x.x.B/32 dev vmbr1
down ip route del 94.x.x.B/32 dev vmbr1
# BBB
iface vmbr1 inet6 static
address 2xxx:x:x:x::10
netmask 64
# BBB IPv6
auto vmbr10
iface vmbr10 inet static
address 10.10.10.1/29
bridge-ports none
bridge-stp off
bridge-fd 0
post-up iptables -t nat -A POSTROUTING -s '10.10.10.2/32' -o enp0s31f6 -j SNAT --to-source 94.x.x.A
post-down iptables -t nat -D POSTROUTING -s '10.10.10.2/32' -o enp0s31f6 -j SNAT --to-source 94.x.x.A
post-up iptables -t raw -I PREROUTING -i fwbr+ -j CT --zone 1
post-down iptables -t raw -D PREROUTING -i fwbr+ -j CT --zone 1
# OPNSense WAN - Proxmox LAN
iface vmbr10 inet6 static
address 2xx:x:x:x::3/125
up ip route add ...
auto vmbr11
iface vmbr11 inet manual
bridge-ports none
bridge-stp off
bridge-fd 0
# VM Net
Now I created another linux bridge (vmbr1) and moved this one VM with Big Blue Button out of vmbr11, not going through opnsense/pfsense anymore and I would really like to forward everything to it. Iptables should absolutely not care about anything, blindly forward everything arriving at that second public IP 94.x.x.B
to my local BBB VM. So like the VM itself is directly connected to the internet. It basically owns that IP.
With the current setup everything seems to work but only when I'm connected to my VPN (a vpn inside vmbr11 on that host), so the connection to vmbr1 and the BBB VM works, I can start a session, the microphone/ web cam works.
Also the BBB checks are working fine:
docker exec -it bbb-docker-greenlight-1 bundle exec rake conf:check
Checking environment: Passed
Checking Connection: Passed
Checking Secret: Passed
Checking SMTP connection: Passed
as well as curl --trace-ascii - -k https://94.x.x.B:443/bigbluebutton/api
shows a success
reply.
So until here, I would say, the docker deployment and setup/configuration of BBB was successful. Now when I try to access the url from the internet (not connected to vpn) the browser can't open the page, simply not reachable. I disabled the proxmox firewall, but does not help. I also can't ping bbb.my-domain.com
or the IP from outside, although the ping command resolves to the correct IP. I guess I'm reaching the correct server, but then there is a small thing missing on the /etc/network/interfaces
file.
Does anyone see what is missing to make it available from the internet?