docker 容器暴露的端口不会因 firewalld 防火墙策略阻断!
最近发现一个问题,docker run 了几个容器,暴雷了 8080, 9090 等等几个端口,一直以为 CentOS 有 firewalld 防火墙在,加了这些端口只允许内网访问,就可以高枕无忧了。
结果有次查看 netstat,居然有一些国外的 IP 连接。这才知道原来有防火墙,容器也不安全!
centos: 13 items found.
docker 容器暴露的端口不会因 firewalld 防火墙策略阻断!
最近发现一个问题,docker run 了几个容器,暴雷了 8080, 9090 等等几个端口,一直以为 CentOS 有 firewalld 防火墙在,加了这些端口只允许内网访问,就可以高枕无忧了。
结果有次查看 netstat,居然有一些国外的 IP 连接。这才知道原来有防火墙,容器也不安全!
1、安装centos-release-scl
sudo yum install centos-release-scl
2、安装devtoolset,注意,如果想安装7.版本的,就改成devtoolset-7-gcc,以此类推
sudo yum install devtoolset-8-gcc*
3、激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本
scl enable devtoolset-8 bash
查看版本
gcc -v
CentOS8 的生命周期到2021年12月31日截止,CentOS7是到2024年6月30日。还有使用CentOS8的注意了,官方可能不再更新,需要将系统升级到CentOS Stream.
升级也很简单:
dnf swap centos-linux-repos centos-stream-repos
dnf distro-sync
附 CentOS Stream 下截地址:
http://mirrors.cqu.edu.cn/CentOS/8-stream/isos/x86_64/
http://mirrors.aliyun.com/centos/8-stream/isos/x86_64/
http://mirrors.neusoft.edu.cn/centos/8-stream/isos/x86_64/
http://mirrors.163.com/centos/8-stream/isos/x86_64/
http://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/isos/x86_64/
http://mirrors.ustc.edu.cn/centos/8-stream/isos/x86_64/
http://ftp.sjtu.edu.cn/centos/8-stream/isos/x86_64/
http://mirrors.nju.edu.cn/centos/8-stream/isos/x86_64/
http://mirrors.bfsu.edu.cn/centos/8-stream/isos/x86_64/
Dockerfile需要传参时,如Dockerfile中有如下声明
ARG base_img=centos:latest
FROM ${base_img}
ARG arch=x86_64
COPY ${arch}/lib /usr/lib
RUN yum install -y nginx
...
在执行docker build
时可以通过参数--build-arg
进行传参,如
docker build . -t centos:latest -f Dockerfile --build-arg base_img=centos:7 --build-arg arch=amd64
yum -y install dhcp
配置文件:/etc/dhcp/dhcpd.conf
示例配置文件:/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
default-lease-time 7200;
max-lease-time 14400;
subnet 10.1.119.0 netmask 255.255.255.0 {
option routers 10.1.119.128;
option domain-name-servers 10.1.102.2;
range 10.1.119.200 10.1.119.220;
}
在云服务器 ECS Linux 系统中,有时需要在系统中测试端口的连通性,以便确认系统的TCP、UDP协议栈是否可以正常运行。本文对此进行简要说明。
CentOS8貌似还没有树莓派的编译版本。
准备另一个32G的tf卡, 用SDCardFormater格式化,再用dd命令烧写。
diskutil umount /dev/disk3s1
别忘了这句
sudo dd bs=64m if=~/Downloads/CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-4-1908-sda.raw of=/dev/disk3
连接网线开机。
在mac上用nmap扫出IP. nmap可以用brew 装
nmap -sn 192.168.1.0/24
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl http://mirrors.aliyun.com/repo/Centos-7.repo -o /etc/yum.repos.d/CentOS-Base.repo
yum makecache
官方wiki解释是
ifconfig 及 netstat 工具程序在 CentOS 5 及 6 的应用手册内被置标为降级已接近十年,而 Redhat 决定在 CentOS 7 不会缺省安装 net-tools 组件。其中一个转换的原因就是 ifconfig 不会显示界面卡所拥有的全部 IP 位置 —— 请改用 ip 指令。取而代之的工具是 ss 和 ip。假如你真的、真的很需要 ifconfig 和 netstat,你可执行 yum install net-tools。
那就熟悉用这些命令吧
ip a
ip route
比较好的格式化输出命令为:ss -ntulp | colume -t
还有 ss -nulp4 | cat -A
http://mirrors.huaweicloud.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirrors.tuna.tsinghua.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirrors.neusoft.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirrors.aliyun.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirrors.zju.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirror.lzu.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirrors.cqu.edu.cn/CentOS/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirror.bit.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirror.jdcloud.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://ftp.sjtu.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirrors.cn99.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
http://mirrors.njupt.edu.cn/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso