English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

CentOS7 Tutoriel de configuration simple du pare-feu Docker

CentOS7 Docker防火墙的简单配置

禁用 firewalld 服务

systemctl disable firewalld
systemctl stop firewalld

安装 iptables 防火墙服务

yum install iptables-services

创建 iptables 配置脚本

cat >> /usr/local/bin/fired.sh <<'EOF'
#!/bin/bash
iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type 8 -j ACCEPT
#iptables -A INPUT -p tcp --dport 80 -i eth0 -m state -state NEW -m recent -update -seconds 60 -hitcount 50 -j DROP
#iptables -A OUTPUT -o eth0 -m owner -uid-owner vivek -p tcp --dport 80 -m state -state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 1:1023 --dport 1:1023 --syn -j DROP
iptables -A INPUT -p tcp -i eth0 --dport 22 --sport 1024:65534 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 --sport 1024:65534 -j ACCEPT
iptables -A INPUT -p tcp --dport 2376 --sport 1024:65534 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 --sport 1024:65534 -j ACCEPT
# OpenVPN Configuration
# iptables -A POSTROUTING -t nat -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# iptables -A FORWARD -i tun+ -j ACCEPT
# iptables -A INPUT -s 10.8.0.0/24 -j ACCEPT
# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A INPUT -p TCP -i eth0 --dport 10173 --sport 1024:65534 -j ACCEPT
# iptables -A INPUT -p UDP -i eth0 --dport 10173 --sport 1024:65534 -j ACCEPT
EOF
chmod +x /usr/local/bin/fired.sh

Ajouter l'élément de démarrage automatique

cat >> /etc/rc.d/rc.local <<EOF
# Firewall & Docker
/usr/bin/Démarrer le service iptables.service via systemctl start iptables.service
/usr/local/bin/fired.sh
/usr/bin/Démarrer le service docker via systemctl start docker
EOF
chmod +x /etc/rc.d/rc.local

Désactiver le lancement automatique des services associés

# Note: Docker s'ajoute automatiquement à certains
Désactiver le service iptables.service via systemctl disable iptables.service
Désactiver le service docker via systemctl disable docker

docker sur CentOS7Certains problèmes

Lorsque mysql est installé sur docker sur CentOS, un message d'erreur chown mod est affiché /var/lib/mysql permission denied, résolu par la méthode 1 suivante.

Mount un volume de données sur CentOS, puis accédez au volume de données dans le conteneur, un message d'erreur permission denied est affiché, résolu par la méthode 1 suivante.

1.Centos7Selinux sécurité interdit certaines permissions de sécurité, ce qui rend mysql et mariadb impossible de monter lors de l'utilisation de montage/var/lib/Lors de l'exécution de mysql, un message d'erreur tel que suit est affiché :

[root@localhost mariadb]# docker run -d -v ~/mariadb/data/:/var/lib/mysql -v ~/mariadb/config/:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=‘123456‘ test01/mariadb
19c4aa113c610f53f9720ee806e3c918dd18d21dff75c043bdd6db60011a135d
[root@localhost mariadb]# docker ps -a
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS      PORTS          NAMES
19c4aa113c61  test01/mariadb  "docker-entrypoint.sh" 4 seconds ago  Exited (1) 1 seconds ago            desperate_kelle

Commande 'logs' affiche un message d'erreur : chown: changing ownership of '/var/lib/mysql/....: Permission denied

Ainsi, il y a trois méthodes de résolution :

  • Ajouter dans docker run --privileged=true Ajouter des permissions spécifiques au conteneur
  • Désactiver selinux
  • Ajouter des règles dans selinux, modifier le répertoire monté de

2. Parfois, lors du lancement d'un conteneur avec une carte de port, il peut y avoir un tel message d'erreur :

1 iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 52080 -j DNAT --to-destination 192.168.20.22:52080 ! -i docker0: iptables: Aucune chaîne/target/match by that name

Cette chose, cherchant et cherchant, n'a pas donné d'explication, consultez http://www.lxy520.net/2015/09/24/centos-7-docker-qi-dong-bao/, cet article dit que vous devez modifier le fichier iptables, ce qui est seulement CentOS7Il est possible qu'il n'y ait pas ce fichier, ou que le service iptables n'ait pas été installé, et que le redémarrage de l'hôte hôte soit récupéré, pendant ce temps, essayez d'utiliser firewall-Recherche de commandes cmd, et arrêt du pare-feu.

Résumé

Voici la totalité de ce contenu d'article. J'espère que le contenu de cet article a une certaine valeur de référence pour votre apprentissage ou votre travail. Si vous avez des doutes, vous pouvez laisser des commentaires pour échanger. Merci de votre soutien au tutoriel d'alerte.

Déclaration : Le contenu de cet article est issu du réseau, propriété de ses auteurs respectifs, apporté par les utilisateurs d'Internet de manière spontanée et auto-publiée. Ce site ne détient pas de droits de propriété, n'a pas été édité par l'homme, et n'assume aucune responsabilité juridique connexe. Si vous trouvez du contenu suspect de violation de droits d'auteur, veuillez envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois confirmée, ce site supprimera immédiatement le contenu suspect de violation de droits d'auteur.)

Vous pourriez aussi aimer