pve下虚拟openwrt做软路由,网关为192.168.1.1。openwrt布置haproxy做代理转发。
内网用户1.247需经网关1.1被haproxy转发上网。
iptables设置如下:
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 -j ACCEPT
iptables -A FORWARD -p tcp --sport 443 -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp -s 192.168.1.247 --dport 443 -j DNAT --to 192.168.1.1:8443
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.247 --dport 80 -j DNAT --to 192.168.1.1:8800
haproxy 已经简单配置
global
defaults
log global
mode tcp
option dontlognull
timeout connect 1000
timeout client 150000
timeout server 150000
frontend ss-in
bind 192.168.1.247:8443
default_backend ss-out
backend ss-out
server server1 x.x.x.x:xx maxconn 20480
目前的问题是访问外网http80端口可以被haproxy转发并上网,iptables 设置生效。
但是访问https 443端口的话只能被转发,haproxy能够接收,但是客户端1.247无法正常上网。
为了证实haproxy的https转发效果,把客户端1.247配置代理
服务器: 192.168.1.1
端口:8443
客户端1.247能进行正常https访问,并且经由haproxy转发工作正常。
只是单独在iptables 里配置
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.247 --dport 443 -j DNAT --to 192.168.1.1:8443
就是不工作。请问各位大侠,我是iptables配置不正确吗?
本人才接触网络知识,各位轻喷,请指正,谢谢!