Je gère SSH sur le port 5678.
Pour mon adresse IP source 1.2.3.4 - Je souhaite vous connecter sur le port 22 et avoir un port de pare-feu vers 5687.
Aucune autre source d'adresses IP source Obtenir le transfert de port.
Quelle ligne de pare-feu à cmd ierais-je pour y parvenir?
Deviner:
CUSTOMPORT=$(netstat -tlpn | grep 0.0.0.0.*ssh | cut -d: -f2 | cut -f1 -d\ )
SOURCE_IP=1.2.3.4
firewall-cmd --zone=public --permanent --query-masquerade
firewall-cmd --zone=public --permanent --add-masquerade
firewall-cmd --zone=public --permanent --add-rich-rule="rule family=\"ipv4\" source address=\"${SOURCE_IP}\" forward-port port=\"22\" protocol=\"tcp\" to-port=\"${CUSTOMPORT}\""
firewall-cmd --reload
Vous venez de créer une règle de pare-feu pour autoriser le trafic, puis vous configurez NAT pour le trafic. Essentiellement, vous créez une ACL pour déterminer quel trafic est autorisé dans, puis faites-vous une règle NAT pour dire que le trafic autorisé doit être traduit.
firewall-cmd --permanent --zone=public --add-rich-rule="rule
family="ipv4" \
source address="1.2.3.4/32" \
port protocol="tcp" port="22" accept"
firewall-cmd --permanent --zone=public --add-forward-port=port=22:proto=tcp:toport=5678:toaddr=*private translated IP address*
firewall-cmd --reload
Comment ouvrir le port pour une adresse IP spécifique avec pare-feu-cmd sur Centos?