我的设置是这样的:
192.168.1.0/24 – 服务器lan 192.168.3.0/24 – vpn子网
192.168.1.11 – vpn服务器192.168.1.12 – apache服务器
openvpn服务器configuration
local 192.168.1.11 port port_number proto tcp dev tun ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/vpnserver.crt key /etc/openvpn/keys/vpnserver.key dh /etc/openvpn/keys/dh.pem tls-auth /etc/openvpn/keys/ta.key 0 server 192.168.3.0 255.255.255.0 push "route 192.168.1.0 255.255.255.0" ifconfig-pool-persist ipp.txt keepalive 10 120 cipher AES-128-CBC comp-lzo user nobody group nogroup persist-key persist-tun tcp-nodelay status openvpn-status.log log-append /var/log/openvpn.log verb 3 mute 20 client-to-client username-as-common-name client-cert-not-required key-method 2 tls-server max-clients 15 plugin /usr/lib/openvpn/openvpn-auth-ldap.so "/etc/openvpn/auth/auth-ldap.conf"
openvpn客户端configuration
client remote [public_ip_of_192.168.1.11] port_number nobind resolv-retry infinite proto tcp dev tun ca filename.crt tls-auth filename.key 1 auth-user-pass cipher AES-128-CBC ns-cert-type server persist-key persist-tun fast-io pull comp-lzo route-method exe route-delay 2
我完美地从远程连接到vpn; 子网192.168.1.0/24是可达的。
但是,当我访问192.168.1.12上的Apache服务器时,apache日志表示请求来自我的公共IP(客户端的公共IP)。
apache是否可能看到vpn IP(192.168.3)而不是每个客户端的公共IP?
任何帮助表示赞赏!
谢谢
好的,那么在我有限的经验,这应该是工作,我不明白你会有外部IP地址出现在Web服务器日志。 确保您的testing正常工作可能是值得的。 有没有可能你的networking服务器也可以通过防火墙端口转发,而且你不小心直接访问它 – 确保你已经明确地把192.168.1.12 IP放到浏览器的URL中。
假设看起来不错,我发现在openvpn服务器上使用tcpdump是一个很好的方式来观察数据包进出,这将确认数据包是否离开openvpn服务器绑定到不正确的IP地址的Apache服务器,而不是直接从防火墙去那里。