Linux
如何设置端口仅对指定 IP 开放访问
· ☕ 1 分钟
1. 主机服务端口 1 2 iptables -I INPUT -p tcp --dport 80 -j DROP iptables -I INPUT -p tcp -s 1.2.3.4 --dport 80 -j ACCEPT 这里仅允许 1.2.3.4 访问本地主机的 80 端口。 2. Docker 服务端口 对于类似 docker run -d -p 80:80 shaowenchen/demo-whoami 运行的服务,上面的方法无效,需要在 DOCKER-USER 链中添加规则。 Docker 会将 iptables 规则添加到 DOCKER 链中,如果需要在 Docker 之前添加规则需要添加到 DOCKER-USER 链中

使用 Linux TC 进行流量限制
· ☕ 3 分钟
1. Linux 下的流量控制原理 通过对包的排队,我们可以控制数据包的发送方式。这种控制,称之为数据整形,shape the data,包括对数据的以下操作: 增加延时 丢包 重新排列 重复、损坏 速率控制 在 qdisc-class-filter 结构下,对流量进行控制需要进行三个步骤: 创建 qdisc 队列 上面提到 Linux 是

使用 systemd timer 配置定时任务
· ☕ 2 分钟
1. 准备定时脚步 如果是 Bash 脚本,第一行需要指定解释器。 1 2 mkdir -p /root/scripts vim /root/scripts/quick-clear.sh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #!/bin/sh /usr/local/bin/kubectl --kubeconfig /root/.kube/config get pods --all-namespaces -o wide | grep Evicted | awk '{print $1,$2}' | xargs --no-run-if-empty -L1 /usr/local/bin/kubectl --kubeconfig /root/.kube/config delete pod -n || true /usr/local/bin/kubectl --kubeconfig /root/.kube/config get pods --all-namespaces -o wide | grep Error | awk '{print $1,$2}' | xargs --no-run-if-empty -L1 /usr/local/bin/kubectl --kubeconfig /root/.kube/config delete pod -n || true /usr/local/bin/kubectl --kubeconfig /root/.kube/config get pods --all-namespaces -o wide | grep Completed | awk '{print $1,$2}' | xargs --no-run-if-empty

Linux 网络流量监控终端工具 - nload
· ☕ 1 分钟
nload 是一个流量监控的终端工具,读取 /proc/net/dev 文件,绘制流量图。下面是一个简单的使用简介。 1. 安装 CentOS 1 yum install -y nload 如果系统的源找不到 nload 包,可以执行如下命令添加新源: 1 yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm Ubuntu 1 apt-get install -y nload 2. 参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 nload --help Command line syntax: nload [options] [devices] nload --help|-h Options: -a

SELinux 和 iptables
· ☕ 6 分钟
最近操作服务器时,遇到了一些不同清楚的概率,查找了一些资料,整理如下。 1. BLP 安全模型 该模型将信息系统中的实体分为两部分: 主体(Subject),实时操作的,如用户和进程 客体(Object),被操作的对象,如文件和数据库等。 对主体和客体来说,有