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

CentOS7 Tutorial de configuración simple del firewall de 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

agregar al inicio de sesión

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

deshabilitar el inicio automático de servicios relacionados

# Nota: Docker se unirá automáticamente a algunos
deshabilitar systemctl iptables.service
deshabilitar systemctl docker

docker en centos7algunos problemas

Al instalar mysql en docker de centos se muestra el mensaje de error chown mod /var/lib/mysql permission denied, se resuelve con el siguiente método 1.

Al montar volúmenes en centos, al acceder a los volúmenes desde dentro del contenedor se produce el error de permission denied, se resuelve con el siguiente método 1.

1.Centos7Selinux seguro prohíbe algunos permisos de seguridad, lo que hace que mysql y mariadb tengan problemas al montar/var/lib/Al ejecutar mysql se mostrará el siguiente mensaje:

[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
IDENTIFICADOR DE CONTENEDOR  IMAGEN    COMANDO     CREADO    ESTADO      PUERTOS          NOMBRES
19c4aa113c61  test01/mariadb  "docker-entrypoint.sh" 4 hace segundos  Salida (1) 1 hace segundos            desperate_kelle

Mira los comandos de logs, y encuentra que el mensaje de sugerencia es: chown: cambiando la propiedad de ‘/var/lib/mysql/....‘: Permiso denegado

Por lo tanto, hay tres métodos de solución:}}

  • Agregar en docker run --privileged=true Dar permisos específicos al contenedor
  • Deshabilitar selinux
  • Agregar reglas en selinux, modificar el directorio de montaje de

2. A veces, al iniciar un contenedor con mapeo de puertos, puede aparecer el siguiente mensaje:

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: No chain/target/match by that name

Este tipo de cosa, después de buscar y buscar, no se dio una explicación, se hizo referencia a http://www.lxy520.net/2015/09/24/centos-7-docker-qi-dong-bao/Este artículo dice que se debe modificar el archivo iptables, solo centos7Es posible que este archivo no exista en absoluto, o no haya servicios de iptables instalados, resultando en un reinicio del anfitrión, se recupera, durante el período de prueba se utilizó firewall-Consulta de comandos cmd, y detener el cortafuegos.

Resumen

Esto es todo el contenido de este artículo, espero que el contenido de este artículo tenga cierta valoración de referencia para su aprendizaje o trabajo. Si tienen alguna pregunta, pueden dejar comentarios para intercambiar, gracias por el apoyo a Tutorial de Gritar.

Declaración: El contenido de este artículo se obtiene de la red, pertenece al propietario original, el contenido se contribuye y carga de manera autónoma por los usuarios de Internet, este sitio no posee los derechos de propiedad, no se ha realizado un procesamiento editorial humano y no asume la responsabilidad legal correspondiente. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, reemplace # con @) para denunciar, y proporcione evidencia relevante. Una vez confirmado, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará