Я изо всех сил старался избежать создания еще одной темы об этом, но я перепробовал все, что мог. Я запускаю игровые серверы с моего Windows ПК, но больше не могу этого делать, потому что переехал и теперь застрял с IP-адресом CGN Zito. Я купил VPS на Ubuntu в Ionos как публичный “шлюз” (Reddit сказал, что это лучше, чем платить за статический IP), и установил Wireguard на него и на свой ПК. Я перепробовал десятки руководств, включая с Tailscale (ближе всего к работе), но ни одно из них не заработало. Вот мои последние (с помощью ChatGPT) шаги, некоторые команды, вероятно, избыточны, потому что я полностью не понимаю, что они делают. Пинги между ними не работают, и сервер Ark (игра) запускается только в LAN, хотя он все равно имеет доступ к интернету и показывает свой собственный IP CGN в сети.
- apt-update/upgrade
- ufw разрешить OpenSSH
- ufw включить
- /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
- sudo service sshd перезагрузить
- /etc/sysctl.conf
- net.ipv4.ip_forward=1
- sudo sysctl -p
- sudo sysctl -w net.ipv4.ip_forward=1
- echo “net.ipv4.ip_forward=1” | sudo tee -a /etc/sysctl.conf
- Установить Nginx на VPS (я использовал его для обратного прокси, но GPT сказал, что можно использовать iptables и оставить Nginx так же)
- sudo apt install nginx
- sudo systemctl start nginx
- sudo systemctl enable nginx
- sudo ufw разрешить ‘Nginx HTTP’
- sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
- sudo systemctl перезагрузить nginx
- Установить 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
- Установить 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
- 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
- sudo wg-quick up wg0
- sudo sysctl -w net.ipv4.ip_forward=1
- echo “net.ipv4.ip_forward=1” | sudo tee -a /etc/sysctl.conf
- Активировать интерфейс VPS на ПК
Пожалуйста, скажите, если я что-то упустил или делаю неправильно, но также прошу не говорить мне, что я должен тратить больше денег на что-то еще, я очень хочу, чтобы это работало. Мой мозг переполнен, и я просто хочу играть в Ark с друзьями снова.