根据域主机 ACL 通过 SSH 访问多个服务器

根据域主机 ACL 通过 SSH 访问多个服务器

我在这里尝试实现的是使用私有网络为我的所有服务器使用 1 个入口点。1 台具有公共 IP 访问权限的服务器,然后在其上指向多个域,之后使用 ACL 来决定使用哪个后端。

示例配置:

frontend UK-1
bind *:77
option tcplog
mode tcp

tcp-request inspect-delay 60s
acl is_ssh payload(0,7) -m bin 5353482d322e30 # "SSH-2.0" in hex
tcp-request content accept if is_ssh

# Define hosts
acl l1_dom req.ssl_sni -i uk-ep-1.example.com
use_backend l1_ssh if l1_dom

acl i1_dom req.ssl_sni -i -i uk-ep-1.i1.example.com
use_backend i1_ssh if i1_dom

backend DefaultBackend
mode http
http-request deny deny_status 403

backend i1_ssh
mode tcp
timeout connect 3000
timeout server  7200000
option          httpchk
server          ssh 192.168.0.155:2905

backend l1_ssh
mode tcp
timeout connect 3000
timeout server  7200000
option          httpchk
server          ssh 192.168.0.167:2917

不幸的是,这不起作用!

答案1

SSH 不支持 SNI,因此无法正常工作。过去曾讨论过如何实现这一点,请参阅或者例如线程,但到目前为止还没有完成。

相关内容