Jump to content
zyxmon

tailscale – сеть VPN, которая не нуждается в конфигурировании

Recommended Posts

7 минут назад, krass сказал:

Ждем инструкцию  -- как поставить на кинетик , чтобы не было проблем с использованием этого vpn .

Все необходимое для написания в инструкции в теме уже есть. Остается только определить скрипты для netfilter.d - а они разные, скорее всего в зависят от того, задается ли exit node, или же advertise-routes, или же....

  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites

Бесплатно продаю идею, как вычислить необходимые правила для скрипта. Создаем файл

#!/opt/bin/sh

echo $* >> /opt/root/ip.txt
/opt/sbin/tables-multi iptables $*

делаем его исполняемым, и _временно_ заменяем файл iptables этим файлом. Запускаем tailscale. В файле /opt/root/ip.txt и будут нужные правила. Для `tailscale up` без дополнительных параметров, там будет примерно такое

-t filter -C FORWARD -m comment --comment tailscale -i tailscale0 -j ACCEPT --wait
-t nat -C POSTROUTING -m comment --comment tailscale -o eth0 -j MASQUERADE --wait
-t filter -N ts-input --wait
-t filter -N ts-forward --wait
-t nat -N ts-postrouting --wait
-t filter -N ts-input --wait
-t filter -F ts-input --wait
-t filter -N ts-forward --wait
-t filter -F ts-forward --wait
-t nat -N ts-postrouting --wait
-t nat -F ts-postrouting --wait
-t filter -C INPUT -j ts-input --wait
-t filter -I INPUT 1 -j ts-input --wait
-t filter -C FORWARD -j ts-forward --wait
-t filter -I FORWARD 1 -j ts-forward --wait
-t nat -C POSTROUTING -j ts-postrouting --wait
-t nat -I POSTROUTING 1 -j ts-postrouting --wait
-t filter -A ts-input ! -i tailscale0 -s 100.115.92.0/23 -j RETURN --wait
-t filter -A ts-input ! -i tailscale0 -s 100.64.0.0/10 -j DROP --wait
-t filter -A ts-forward -i tailscale0 -j MARK --set-mark 0x40000 --wait
-t filter -A ts-forward -m mark --mark 0x40000 -j ACCEPT --wait
-t filter -A ts-forward -o tailscale0 -s 100.64.0.0/10 -j DROP --wait
-t filter -A ts-forward -o tailscale0 -j ACCEPT --wait
-t filter -I ts-input 1 -i lo -s 100.85.86.2 -j ACCEPT --wait
-t nat -A ts-postrouting -m mark --mark 0x40000 -j MASQUERADE --wait

Тут в предпоследней строке ip адрес talescaled0 интерфейса - его нужно вычислить и подставить. Может потребоваться еще одно правило для INPUT с предыдущей страницы. Дальше уж сами......

Share this post


Link to post
Share on other sites

В командной строке tailscale есть дополнительные параметры

~ # tailscale up --help
USAGE
  up [flags]

"tailscale up" connects this machine to your Tailscale network,
triggering authentication if necessary.

The flags passed to this command are specific to this machine. If you don't
specify any flags, options are reset to their default.

FLAGS
<тут пропущено>
  -netfilter-mode on                         netfilter mode (one of on, nodivert, off)
<тут пропущено>

Документации на флаг netfilter-mode я не нашел, из исходников

               case "nodivert":
                        prefs.NetfilterMode = preftype.NetfilterNoDivert
                        warnf("netfilter=nodivert; add iptables calls to ts-* chains manually.")
                case "off":
                        prefs.NetfilterMode = preftype.NetfilterOff
                        warnf("netfilter=off; configure iptables yourself.")

Поэтому я бы запускал tailscale up с флагом `-netfilter-mode off` и в хуках netfilter прописал правила, как для openvpn (bp Entware)

Для filter

/opt/sbin/iptables -I FORWARD -o tailscale0 -j ACCEPT
/opt/sbin/iptables -I FORWARD -i tailascale0 -j ACCEPT
/opt/sbin/iptables -I INPUT -i tailscale0 -j ACCEPT

А для таблицы nat

iptables -t nat -A POSTROUTING -o tailscale0 -j MASQUERADE

Думаю знатоки iptables осилят (я таковым не являюсь).

Share this post


Link to post
Share on other sites

У кого-то получилось сделать выход в интернет через keenetic? Поделитесь правилами iptables! Не могу разобраться. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...