kubernetes network troubleshooting

API 无法访问其他服务

最近安装了一个 kube 但是 api server,但是无法访问 mertics server 等组件,经排查

  • api server 运行在 master 节点上

  • 其他 组件运行在 worker 节点上
    核心原因是因为 flannel 打开了 DirectRouting 选项,导致了将宿主机网卡作为 host-gw 直接将 二层 数据包转发出去,并没有进行封装,在云上的网络(火山引擎)禁止此转发行为,表现为

Read More

Seal VPN Not Working in ubuntu 18+

1
2
3
4
5
6
7
8
Ubuntu18以上无法访问网络的解决办法
Ubuntu 18.04 以后,系统预设安装 systemd-resolved,劫持了 /etc/resolve.conf
用 symbolic link 指向 /run/systemd/resolve/stub-resolv.conf
NetworkManager 发现 /etc/resolv.conf 为 symbolic-link, 会忽略我们使用 dnsmasq 的要求。
解法:
sudo systemctl disable systemd-resolved
sudo rm -f /etc/resolv.conf # manually delete the /etc/resolv.conf
sudo systemctl reload NetworkManager # NM will regenerate /etc/resolv.conf

构建与调试 Linux 内核

Linux Kenrel

1
2
wget http://mirrors.ustc.edu.cn/kernel.org/linux/kernel/v4.x/linux-4.19.171.tar.gz
tar -xvf linux-4.19.171.tar.gz

Install Build

1
apt-get install -y libncurses5-dev libssl-dev bison flex libelf-dev gcc make openssl libc6-dev bc

CP Old Config

1
2
3
4
cp /boot/config-4.19.0-14-amd64 .config
make oldconfig
# for debian
sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' .config

Read More

Proxy

shadowsocks 代理

1
docker run -dt --name ss -p 6443:6443 mritd/shadowsocks -s "-s 0.0.0.0 -p 6443 -m aes-256-cfb -k Dangerous@123"

参考 README

Socket 5 代理

1
docker run -d --name socket5-proxy -p 80:1080 -e PROXY_USER=root  -e PROXY_PASSWORD=Dangerous@123 serjs/go-socks5-proxy

Read More