Еще один новичок просит помощи с VPS VPN для игрового сервера

Я изо всех сил старался не создавать новую тему по этому поводу, но я попробовал все возможное. Я запускаю игровые серверы со своего ПК на Windows, но больше не могу, потому что переехал и теперь у меня IP-закодированный CGN. Я купил VPS с Ubuntu у Ionos как публичный “шлюз” (Reddit сказал, что это лучше, чем платить за статический IP), и установил Wireguard на него и мой ПК. Я пробовал СОТНИ руководств, включая использование Tailscale (близко к работе), но ни одно из них не работает. Следующие шаги — мои последние (с помощью ChatGPT) попытки заставить это работать, некоторые команды вероятно лишние, потому что я полностью не понимаю, что они делают. ping между ними не работает, и сервер Ark запускается только в LAN, хотя он все равно имеет доступ к интернету и показывает свой собственный IP CGN онлайн.

  1. apt-update/upgrade
  2. ufw allow OpenSSH
  3. ufw enable
  4. /etc/ssh/sshd_config
    • LoginGraceTime 2m
    • PermitRootLogin no
    • MaxAuthTries 3
    • MaxSessions 2
    • ChallengeResponseAuthentication no
    • PermitEmptyPasswords no
    • KerberosAuthentication no
    • GSSAPIAuthentication no
    • AllowAgentForwarding yes
    • AllowTcpForwarding yes
    • X11Forwarding no
    • PermitUserEnvironment no
  5. sudo service sshd reload
  6. /etc/sysctl.conf
    • net.ipv4.ip_forward=1
  7. sudo sysctl -p
  8. sudo sysctl -w net.ipv4.ip_forward=1
  9. echo “net.ipv4.ip_forward=1” | sudo tee -a /etc/sysctl.conf
  10. Установка Nginx на VPS (я использовал его для обратного прокси, но GPT сказал, что можно использовать iptables и оставить Nginx, потому что)
  • sudo apt install nginx
  • sudo systemctl start nginx
  • sudo systemctl enable nginx
  • sudo ufw allow ‘Nginx HTTP’
  • sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
  • sudo systemctl reload nginx
  1. Установка Wireguard на VPS
  • sudo apt install wireguard
  • umask 077 && printf "[Interface]\nPrivateKey = " | sudo tee /etc/wireguard/wg0.conf > /dev/null
  • sudo wg genkey | sudo tee -a /etc/wireguard/wg0.conf | wg pubkey | sudo tee /etc/wireguard/publickey
  • sudo nano /etc/wireguard/wg0.conf (VPS)
    • [Interface]
    • PrivateKey = (личный ключ VPS)
    • Address = 10.0.0.1/24
    • ListenPort = 51820
    • [Peer]
    • PublicKey = (публичный ключ ПК)
    • AllowedIPs = 10.0.0.2/32
    • Endpoint = (публичный IP VPS):51820
    • PersistentKeepalive = 25
  1. Установка Wireguard на ПК
  • Добавьте пустой туннель
    • [Interface]
    • PrivateKey = (личный ключ ПК)
    • ListenPort = 51820
    • Address = 10.0.0.2/24
    • [Peer]
    • PublicKey = (публичный ключ VPS)
    • AllowedIPs = 10.0.0.1/32
    • Endpoint = (публичный IP VPS):51820
    • PersistentKeepalive = 25
  1. iptables на VPS: (пробросил все, кроме порта 22, потому что это мой личный компьютер)
  • sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT
  • sudo iptables -t nat -A PREROUTING -p tcp -j DNAT --to-destination 10.0.0.2
  • sudo iptables -A FORWARD -p tcp -d 10.0.0.2 -j ACCEPT
  • sudo iptables -t nat -A PREROUTING -p udp -j DNAT --to-destination 10.0.0.2
  • sudo iptables -A FORWARD -p udp -d 10.0.0.2 -j ACCEPT
  • sudo apt install iptables-persistent
  • sudo netfilter-persistent save
  1. sudo wg-quick up wg0
  2. sudo sysctl -w net.ipv4.ip_forward=1
  3. echo “net.ipv4.ip_forward=1” | sudo tee -a /etc/sysctl.conf
  4. Активировать интерфейс VPS на ПК

Пожалуйста, скажите, если я что-то упустил или делаю неправильно, но и не говорите, что мне нужно тратить больше денег на что-то еще, я очень хочу, чтобы это заработало. Мозг у меня выжжен, я просто хочу играть в Ark с друзьями снова.

Это может не очень помочь, но нужно разбить это на части и понять каждую.

  1. Как вы общаетесь с VPS на локальном сервере? Если через Wireguard, проверьте, работает ли соединение. Могут ли ваши устройства пинговать друг друга? что насчет ssh?

  2. Обратный прокси на VPS. Я не знаком с методом использования iptables как обратного прокси, но SWAG — это классный Docker-контейнер с nginx и множеством преднастроенных профилей прокси.

Вам также стоит ознакомиться с https://pterodactyl.io/ , так как он может запускать ваш сервер ARK в Docker и уже имеет настройку прокси в SWAG. reverse-proxy-confs/pterodactyl.subdomain.conf.sample at master · linuxserver/reverse-proxy-confs · GitHub

не совсем отвечая на ваш вопрос, но вы смотрели playit.gg? отлично работает для моего сервера Enshrouded сейчас.

Почему вы пытаетесь подключиться к VPS через VPN, чтобы разместить игру, вместо того чтобы разместить игру прямо на VPS?

Спасибо, я слышал о Docker и Pterydactyl, но думал, что они нужны для управления большим количеством устройств или чего-то подобного. Завтра изучу это. VPS подключен к серверу через Wireguard, и, согласно ChatGPT (я не разбираюсь во всем этом), iptables работает как “гетто” обратный прокси в этой Setup, потому что весь трафик, кроме порта 22 (чтобы я мог еще входить через SSH), перенаправляется на мой компьютер. Мой компьютер может подключаться к другим компьютерам в моей сети, и я использовал Windows RDP с рабочего стола моей жены.

Я думаю, playit.gg не подойдет, так как у меня все равно будет частный IP из-за Zito, пока что, если это не работает как Hamachi, которому я не хочу, чтобы мои друзья и друзья моей жены устанавливали и использовали его, чтобы играть на моих серверах. Я также иногда удаленно получаю доступ к фильмам и файлам с работы или из дома друга, поэтому я пытаюсь сделать всю систему онлайн. Спасибо за предложение, хотя :folded_hands:

У VPS недостаточно места. Ark занимает около 300 ГБ сам по себе из-за всех карт, и у VPS только 120 ГБ на бесплатном тарифе. Я также не рассчитываю, что этот VPS будет постоянным решением, у меня много другого мусора, который я хочу иметь доступным с моего сервера, который у меня уже настроен. Я сосредоточен на Ark сейчас, потому что сейчас мои друзья не могут играть, пока он недоступен.

для всего, кроме игр:
сервер дома vps с обратным прокси

для игр playit.gg отлично подходит. это прокси, который дает вам публичный IP, принадлежащий им, и делает всю настройку прокси за вас. пожалуйста, действительно посмотрите это. никому не нужно ничего устанавливать.

Можете запустить Linux VM для размещения игры? Это очень просто с LinuxGSM

Редактирование - запуск сервера не должен занимать столько места. Вам не нужно устанавливать игру, чтобы это работало как сервер.

Извините, я не посмотрел это вчера, потому что был пьяным. Playit.gg позволяет туннелировать только 4 или 16 портов, а серверы Ark используют 3 порта на каждую карту. Плюс у меня обычно есть еще игры, такие как 7 Days, Minecraft, Palworld и т.д. Zerotier, похоже, подойдет идеально!