Рейтинг:0

Kubernetes Wireguard VPN туннелирует домашнюю локальную сеть с ошибкой облачного сервера

флаг cn

Проблема

В настоящее время я пытаюсь туннелировать узлы VPN моей локальной сети с узлом за пределами моей локальной сети (внутри центра обработки данных). Для этого я пытался использовать K3S. К сожалению, я не могу пропинговать рабочего (внутри локальной сети) поверх мастера (вне локальной сети). Пинг между рабочими узлами работает (оба внутри локальной сети).

Воспроизвести

Для установки k3s я использовал команду curl -sfL https://get.k3s.io | sh -s --flannel-backend=none --disable traefik а также убрать фланель и отключить траефик.

Чтобы установить calico, я скачал манифест через завиток https://docs.projectcalico.org/manifests/calico.yaml -O и отредактировал список conf, чтобы разрешить ip_forwarding:

{
  "имя": "k8s-pod-сеть",
  "cniVersion": "0.3.1",
  "плагины": [
    {
      "тип": "бязь",
      "log_level": "информация",
      "log_file_path": "/var/log/calico/cni/cni.log",
      "datastore_type": "кубернетес",
      "имя_узла": "ИМЯ_УЗЛА",
      "мту": 0,
      "айпам": {
          "тип": "калико-ипам"
      },
      "политика": {
          "тип": "k8s"
      },
      "кубернет": {
          "kubeconfig": "/etc/cni/net.d/calico-kubeconfig"
      },
      "container_settings": { "allow_ip_forwarding": правда}
    },
    {
      "тип": "карта порта",
      "снат": правда,
      "возможности": {"portMappings": правда}
    },
    {
      "тип": "пропускная способность",
      "возможности": {"пропускная способность": правда}
    }
  ]
}

И выполнил команду судо sysctl net.ipv4.ip_forward = 1 на каждом узле.

Чтобы включить Wireguard, я следовал инструкциям на https://docs.projectcalico.org/security/encrypt-cluster-pod-traffic и установил wireguard через
apt-get установить wireguard
на каждом узле скачанный calicoctl через
curl -o calicoctl -O -L "https://github.com/projectcalico/calicoctl/releases/download/v3.20.2/calicoctl"
и сделал его исполняемым с помощью
chmod +x calicoctl.
После этого я включил Wireguard с помощью команды
./calicoctl patch felixconfiguration default --type='merge' -p '{"spec":{"wireguardEnabled":true}}'.

После этого я установил nginx-ingress с манифестом yaml.
kubectl применить -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.0.4/deploy/static/provider/cloud/deploy.yaml.
Я присоединил каждый узел внутри моей локальной сети к мастеру за пределами моей локальной сети с помощью
curl -sfL https://get.k3s.io | K3S_URL=https://IP:6443 K3S_TOKEN=TOKEN sh -
У каждого узла был IP-адрес VPN-туннеля, и модули запускались на адресах VPN. Внутренний IP-адрес каждого узла был его собственным IP-адресом (узлы внутри моей локальной сети получили IP-адрес локальной сети, а узлы вне локальной сети получили общедоступные IP-адреса).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.