oracle cloud 的ubuntu系统下ufw 防火墙规则不生效处理

前言

  • 因为 oracle cloud的 linux 都是默认使用了iptables的防火墙规则,导致了ufw的规则不生效。
  • 如果你喜欢Iptables规则方式配置防火墙,使用Iptables就行。

干掉预制的Iptables规则

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
# 切换到超级用户
sudo -i
# 删除规则
rm -rf /etc/iptables
# 重启生效
reboot

k8s 系统证书刷新

1. 查看当前证书情况:

# k8s 版本 1.15-1.18
sudo kubeadm alpha certs check-expiration
# k8s >=1.23
sudo kubeadm certs check-expiration


可以看到,证书已经过期了。会造成集群挂掉。
会有相关报错:
failed to verify client's certificate: x509: certificate has expired or is not yet valid
Unable to connect to the server: x509: certificate has expired or is not yet valid
– 6443 端口没有监听 等情况

2. 生成新的证书

# k8s 版本 1.15-1.18
sudo kubeadm alpha certs renew all
# k8s >=1.23
sudo kubeadm certs renew all

更新后,再查看证书的日期。就会发现已经刷新了一年。

3. 更新当前配置信息

cp /etc/kubernetes/admin.conf  ~/.kube/config
sudo systemctl restart kubelet

这样的话, kubectl 命令就又恢复了。

ps 查看kubelet的日志命令

journalctl -xefu kubelet

云服务器 对外访问25端口被封 ? 利用iptables 绕过 被封的 output 25 port。

用 iptables 将 25出去的流量,转发到其他端口出去。

iptables -t nat -A OUTPUT -p tcp --dport 25 -j DNAT --to 10.0.0.10:10025

这里 将 25 端口出去的流量转发到了1025端口。

这里 10.0.0.10 为 代理服务器 的ip地址。

找一台正常发送25端口的服务器,配置成代理服务器。

  1. 安装postfix
sudo apt-get install postfix

sudo tee /etc/postfix/main.cf<<EOF
inet_interfaces = all
#inet_interfaces = localhost
mynetworks = 0.0.0.0/0
EOF

sudo systemctl restart postfix
  1. 配置被允许代理的服务器的ip。
sudo tee smtp-proxy.sh<<EOF
#!/bin/bash
# 被允许的ip
IPS=(
129.1.1.1
132.2.2.2
132.3.3.3
)
for IP in {IPS[@]}
do
iptables -t nat -A PREROUTING -p tcp -s{IP} --dport 10025 -j REDIRECT --to-ports 25
iptables -A INPUT -p tcp -s ${IP} --dport 25 -j ACCEPT
done
EOF

sudo chmod +x smtp-proxy.sh
./smtp-proxy.sh
  1. 配好防火墙:
sudo ufw default  deny
sudo ufw allow 10025
sudo ufw allow  from 129.1.1.1
sudo ufw allow  from 132.2.2.2
sudo ufw allow  from 132.3.3.3

AMD GPU device plugin for Kubernetes on ubuntu 22.04 安装使用

AMD GPU device plugin for Kubernetes 是一个amd的k8s显卡插件。

环境说明:
+ ubuntu 22.04
+ k8s 1.23.9

安装amd的内核驱动

wget https://repo.radeon.com/amdgpu-install/22.20.3/ubuntu/jammy/amdgpu-install_22.20.50203-1_all.deb
sudo apt install ./amdgpu-install_22.20.50203-1_all.deb
sudo apt-get update
sudo amdgpu-install --usecase=dkms
# 安装完成后,必须重启一下
sudo reboot

浏览全部

ubuntu下 podman 转发端口 ufw 防火墙 不能放过( 不兼容) 的临时处理方案

podman的网络使用的是 iptables 的转发。不支持ufw开放/禁用 端口。
开了ufw防火墙后,podman 转发的端口基本上就只能本地访问了。这是个大坑

方法1

ifconfig

执行后,可以找到一些 cni-popdman0 这种的interface。
使用iptables对所有的相关cni都转发一下 例如:

iptables -I FORWARD -p tcp ! -i cni-podman0 -o cni-podman0 -j ACCEPT

这样,即使开启着 ufw。你的podman的端口也能通过外部访问了。
不过不安全。这是全部转发的端口都允许了。所以只是临时方案。否则只能关闭ufw(不能接受)

方法2

  • 编辑 /etc/default/ufw 修改 DEFAULT_FORWARD_POLICY 的值为 ACCEPT
  • sudo ufw reload

homebrew 执行 brew update 报 rebase-merge 错误问题解决

错误信息

Running `brew update --auto-update`...
fatal: It seems that there is already a rebase-merge directory, and
I wonder if you are in the middle of another rebase.  If that is the
case, please try
    git rebase (--continue | --abort | --skip)
If that is not the case, please
    rm -fr ".git/rebase-merge"
and run me again.  I am stopping in case you still have something
valuable there.

浏览全部