侧边栏壁纸
博主头像
WinJay博主等级

博观而约取 厚积而薄发

  • 累计撰写 333 篇文章
  • 累计创建 168 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

CentOS新装系统操作步骤

WinJay
2021-12-02 / 0 评论 / 1 点赞 / 74 阅读 / 2,967 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-03-21,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Docker自动开放防火墙端口

解决docker运行容器自动开放防火墙端口, Firewalld无法控制docker端口情况

被这个东西坑了几次了,总以为自己屏蔽了端口,但是发现没有屏蔽导致两次被清库,这次终于找到原因了。
因为docker是直接走iptables转发,不受自带防火墙的控制,坑死了。

#需要修改/usr/lib/systemd/system/docker.service
vi /usr/lib/systemd/system/docker.service

#找到 ExecStart=/usr/bin/dockerd -H fd://xxxxx 在中间添加 --iptables=false
修改之后 :
ExecStart=/usr/bin/dockerd --iptables=false -H fd://xxxxxx

:wq 保存退出

#然后
systemctl daemon-reload
systemctl restart docker

新装系统操作步骤

0 更换系统源

采用腾讯源,+配置Docker安装源

# mv /etc/yum.repo/CentOS.repo CentOS.repo.Backup

wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+mirrors.cloud.tencent.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sudo yum makecache fast

1 epel安装

yum install epel-release -y

2 系统更新

yum update -y

3 常用组件工具安装

yum install htop git vim net-tools telnet zip unzip wget -y

4 Docker配置

# 配置文件修改:
vim /etc/docker/daemon.json
{
    "registry-mirrors": ["https://d3is0bty.mirror.aliyuncs.com","http://f1361db2.m.daocloud.io"],
    "insecure-registries": ["http://hub.nercoa.com"],
    "data-root": "/mnt/sdb2/DockerRootDir",
    "storage-driver": "overlay2",
    "log-driver":"json-file",
    "log-opts": {"max-size":"500m", "max-file":"3"}
}

#  "graph": "/mnt/docker-data", 亦可指定Docker的根目录位置。

4.1 解决docker运行容器自动开放防火墙端口,

# 解决docker运行容器自动开放防火墙端口, Firewalld无法控制docker端口情况

被这个东西坑了几次了,总以为自己屏蔽了端口,但是发现没有屏蔽导致两次被清库,这次终于找到原因了。
因为docker是直接走iptables转发,不受自带防火墙的控制,坑死了。

#需要修改/usr/lib/systemd/system/docker.service
vi /usr/lib/systemd/system/docker.service

#找到 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 在中间添加 --iptables=false
修改之后 :
ExecStart=/usr/bin/dockerd --iptables=false -H fd:// --containerd=/run/containerd/containerd.sock

# 上面的位置不能放错,放错启动会报错。

:wq 保存退出

#然后
systemctl daemon-reload
systemctl restart docker

4.2 限制Docker容器生成大量core文件

## 限制Docker容器生成大量core文件,上面之前配置文件中限制了日志的文件,但无法限制错误时生成的转储文件

vi /usr/lib/systemd/system/docker.service
# 在容器服务当中添加默认值 --default-ulimit core=0:0
/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --iptables=false -H fd:// --containerd=/run/containerd/containerd.sock --default-ulimit core=0:0

5 命令自动补全

yum install bash-completion -y 安装好后,重新登陆即可(刷新bash环境)。

6 防火墙,SELINUX

systemctl stop firewalld.service && systemctl disable firewalld.service

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

reboot

7 启用IPV4转发功能

Docker启动报错WARNING:IPv4 forwarding is disabled. Networking will not work.

解决办法:

vim /etc/sysctl.conf

net.ipv4.ip_forward=1 # 添加这段代码

重启network服务

systemctl restart network && systemctl restart docker

查看是否修改成功 (备注:返回1,就是成功)

sysctl net.ipv4.ip_forward
正常会输出net.ipv4.ip_forward = 1

8 SSH配置

  • 修改ssh端口号
  • 上传公钥
  • 修改断开时间
  • 关闭密码登陆,只允许证书登陆
#Port 22
Port $(YourPort)

ClientAliveInterval 600
ClientAliveCountMax 3
# 将这两个参数值修改为no:
PasswordAuthentication no
ChallengeResponseAuthentication no

#然后重启SSH服务。

现在我们就已经限制用户的SSH登录方式,只允许用key方式登录。
进一步测试,如果我们用一台不带信任key的机器尝试登录,那么会提示如下信息。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
证明限制SSH登录方式成功。

1

评论区