I'm using softether VPN on docker, through a Google cloud ubuntu machine. When I connect in my computer to its client and get my external IP, I get the VPN's IP, therefore Google cloud machine's IP.
When I try to connect other machines that are blocked by the Google cloud's firewall, I can access. Also when I'm trying to reach a service on the Google cloud's machine internally it works, but when I try to access the google cloud's machine externally through the VPN (which is in the FW white list) I cannot access.
The same phenomenon happens on AWS too. I also tried open vpn and it didn't work too.
This is my docker compose file for the softether VPN:
version: '3'
services:
softether:
image: siomiz/softethervpn
# with host mode - maybe the services on vpn host is not accessible, like http, etc..
privileged: true
cap_add:
- NET_ADMIN
# network_mode: host
# with normal mode - you cant add any local bridge, but every service on vpn host is accessible
ports:
- '500:500/udp'
- '4500:4500/udp'
- '1701:1701/tcp'
- '5555:5555/tcp'
environment:
- PSK=${PSK}
- USERS=${USERS}
restart: unless-stopped
Google firewall rule:
Again, I can access to the machine's service via the browser using the internal IP, but not the external. I made sure:
- the FW rule is in the same network
- it's ingress rule
- the external IP is correct
- I can reach to other services on other machines (via different rules)
- My external IP address is changing while using the VPN from my computer
Any ideas?