Auteur de cet article : Spark (membre de l'équipe de sécurité intranet Ms08067)
Similaire à frp, il peut être exécuté à l'aide d'un fichier de configuration + d'un serveur.
Avantages :
Largement utilisé dans les grands domaines d'activitéPrend en charge le proxy à quatre couches (couche de transport) et le proxy à sept couches (couche d'application) #🎜🎜 #Prend en charge acl (liste de contrôle d'accès) et peut configurer le routage de manière flexible
windows peut être exécuté après la compilation avec cygwin (peut être multiplateforme)
#🎜🎜 #Les listes de contrôle d'accès (ACL) sont des listes d'instructions appliquées aux interfaces du routeur. Ces listes d'instructions sont utilisées pour indiquer au routeur quels paquets de données peuvent être acceptés et quels paquets de données doivent être rejetés.
2. Configuration
Le fichier de configuration se compose de la configuration globale et de la configuration du proxy :
Configuration globale (globale) : définit les paramètres liés à la sécurité de la gestion des processus haproxy et performances Proxies :
defaults : Fournissez des paramètres par défaut pour d'autres sections de configuration. Les paramètres de configuration par défaut peuvent être réinitialisés par les prochains "valeurs par défaut"# 🎜🎜#.
frontend : Définir une série de sockets d'écoute pouvant accepter les requêtes des clients et établir des connexions avec euxDes opérations spécifiques doivent être écrites dans le Backend, qui consiste à transférer vers quel port de quelle cible.backend : Définir le serveur "backend", frontend Le serveur proxy enverra des requêtes à court terme à ces serveurs
écouter : définissez le socket d'écoute et le serveur back-end, de la même manière que si vous réunissiez les segments frontend et backend
#🎜 🎜#Exemple :
global defaults log global mode tcp option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 frontend main mode tcp bind *:8888 option forwardfor except 127.0.0.1 option forwardfor header X‐Real‐IP # 配置acl规则 acl is‐proxy‐now urlp_reg(proxy) ^(http|https|socks5)$ # 分发到对应的backend use_backend socks5 if is‐proxy‐now use_backend http backend socks5 mode tcp timeout server 1h server ss 127.0.0.1:50000 backend http mode tcp server http 127.0.0.1:80Copier après la connexionConcentrez-vous sur le frontend et le backend.
Vous devez écrire des règles acl et configurer le transfert dans Frontend. Par exemple, lorsque le trafic HTTP arrive, il est transmis au service Web ; lorsque le trafic RDP arrive, il est transmis au service RDP.
3. Idées
Écrire des règles acl, charger sur la septième couche (couche d'application), déterminer le type d'application à distribuer, par exemple, lorsque http est rencontré, il est distribué au service http, sinon il est envoyé au service xxx.
Prenez l'idée 1 comme exemple :
protocole ssh :Reprise de l'interface d'origine
# 🎜🎜#Complete 4.1 Capture tpktÀ propos de tpkt peut être trouvé sur Baidu ou consultez le lien de référence #🎜🎜 #Après trois poignées de main, démarrez la transmission des données de la couche application.
Utilisez Wireshark pour capturer des paquets :
SSH
535348
030000
474554 | # 🎜🎜# |
---|---|
HTTP(PUT) | |
HTTP(DEL) | |
HTTP(OPT) # 🎜🎜# | 4f5054|
HTTP(HEA) | 484541 |
HTTPS | 160301 |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!