Estoy buscando una manera de usar bloques CIDR específicos para que coincidan con los hosts en la configuración del cliente SSH (generalmente ~/.ssh/config
). Por ejemplo, tengo una entrada para reenviar todo el tráfico a través de un host de bastión si la IP cae en un cierto rango, digamos 10.1.0.0/16
:
host 10.1.*
proxycommand ssh -q bastion -W %h:%p
Esto funciona muy bien, pero ¿qué tal cuando agrego algunos rangos que no se ajustan exactamente a la notación de puntos?
# doesn't work, unfortunately
host 10.2.0.0/18
proxycommand ssh -q bastion-foo -W %h:%p
host 10.2.64.0/18
proxycommand ssh -q bastion-bar -W %h:%p
¿Hay algo en el manual que me haya perdido, o un ingenioso truco de secuencias de comandos que permita hacer coincidir estos rangos de IP del host?
host
entradas separadas . También necesitaba cada uno citado por separado (ssh / Mac). Más corto que pude encontrar:host "10.2.?.*", "10.2.??.*", "!10.2.64*", "!10.2.65*", "!10.2.66*", "!10.2.67*", "!10.2.68*", "!10.2.69*", "!10.2.7*", "!10.2.8*", "!10.2.9*"
yhost "10.2.??.*", "10.2.10?.*", "10.2.11?.*", "10.2.12?.*", "!10.2.1?.*", "!10.2.2?.*", "!10.2.3?.*", "!10.2.4?.*", "!10.2.5?.*", "!10.2.60.*", "!10.2.61.*", "!10.2.62.*", "!10.2.63.*", "!10.2.128.*", "!10.2.129.*"
Esté atento a http://bugzilla.mindrot.org/show_bug.cgi?id=1169 que eventualmente puede proporcionar un mecanismo para esto.
fuente