logo

Docker宿主机Iptables配置

作者:谁偷走了我的奶酪2024.02.18 14:15浏览量:6

简介:在Docker宿主机上配置Iptables可以增强网络安全性,本文将介绍如何进行配置。

在Docker宿主机上配置Iptables可以增强网络安全性,确保只有经过授权的网络流量能够通过。以下是在Docker宿主机上配置Iptables的步骤:

  1. 确保Docker已经正确安装并运行。你可以在终端中运行以下命令来检查Docker是否正在运行:
  1. sudo systemctl status docker

如果Docker正在运行,你将看到类似以下的输出:

  1. docker.service - Docker Application Container Engine
  2. Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
  3. Active: active (running) since Mon 2023-03-13 10:00:00 UTC; 10min ago
  4. Docs: https://docs.docker.com/

如果Docker没有运行,你可以使用以下命令启动Docker:

  1. sudo systemctl start docker
  1. 创建一个新的Iptables规则文件。在终端中运行以下命令来创建一个名为“docker-iptables.rules”的文件:
  1. sudo nano /etc/iptables/docker-iptables.rules
  1. 在打开的文件中,添加以下规则来允许Docker容器访问外部网络:
  1. *filter
  2. :DOCKER-USER - [0:0]
  3. -A DOCKER-USER -p tcp -m tcp --dport 80 -j ACCEPT
  4. -A DOCKER-USER -p tcp -m tcp --dport 443 -j ACCEPT
  5. COMMIT
  6. *nat
  7. :DOCKER-USER - [0:0]
  8. -A DOCKER-USER -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
  9. -A DOCKER-USER -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443
  10. COMMIT

这些规则允许Docker容器通过端口80和443访问外部网络,并将流量重定向到容器的8080和8443端口。你可以根据需要修改规则。

  1. 保存并关闭文件。在Nano编辑器中,按下“Ctrl + X”,然后按下“Y”键确认保存。
  2. 将Iptables规则应用到宿主机上。在终端中运行以下命令:
  1. sudo iptables-restore < /etc/iptables/docker-iptables.rules

这将应用你在“docker-iptables.rules”文件中定义的规则。

  1. 确保Iptables规则在系统重启后生效。运行以下命令编辑Iptables服务文件:
  1. sudo nano /etc/systemd/system/docker.service.d/override.conf

在打开的文件中,添加以下内容:

  1. [Service]
  2. ExecStartPost=/sbin/iptables-restore < /etc/iptables/docker-iptables.rules
  3. ExecStopPost=-/sbin/iptables-save > /etc/iptables/docker-iptables.rules

保存并关闭文件。在Nano编辑器中,按下“Ctrl + X”,然后按下“Y”键确认保存。这将确保在Docker服务启动和停止时应用和保存Iptables规则。

相关文章推荐

发表评论