メインコンテンツへスキップ
  1. Posts/

VPNの導入

·2 分·
Network Linux Network
なね
著者
なね
目次
Re:Ubuntu Router - This article is part of a series.
Part 3: This Article

記事の書き直しの理由の7割がここ。

Tailscaleの導入
#

アカウント登録は各自で済ませてください。(丸投げ)
インストールコマンド

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

もう一つ適当なデバイスでもログインをしておきましょう(デバイスを2つ揃えないとチュートリアルから進まない。)

ルーターを出口ノードに指定する。(ここはお好みで)
#

1.ルーターで出口ノードとして使用することを宣言(?)

sudo tailscale set --advertise-exit-node
  1. ルーター配下のサブネットをTailscaleに追加する。
sudo tailscale set --advertise-routes=192.168.1.0/24
  1. 変更を反映する。
sudo tailscale up
  1. Tailscaleのwebインターフェースからルーターを選択してサブネットルーティングと出口ノードを設定。

見ての通りかもしれない。

Tailscaleの認証は6ヶ月スパンなのだが正直常用する機器で忘れた頃に認証を要求されても面倒なので無効化するのも良いと思う。
(Machines>…>Disable key expiry)

自分はルーターのみ無効にしてほかはデフォルトのままにしている。
また、各クライアントで出口ノードと手動でルーターに設定しないといけないっぽい。

NordVPNクライアントの導入
#

生ipを様々な場所で使用することに耐えられない病気なので ルーターに接続している機器全てがNordVPNを使用するように設定。

クライアントのインストール
#

sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)
sudo usermod -aG nordvpn $USER
sudo reboot

Cli環境でNordVPNにログインする方法は以下の記事が参考になります。

NordVPNを起動する前にいくつか設定しておく。

nordvpn set technology  NORDLYNX
nordvpn set firewall disabled
nordvpn set killswitch disabled
nordvpn set autoconnect on

上から

  • プロトコルにnordlynxを指定
  • iptablesの書き換えを阻止
  • キルスイッチの無効化(ufwで設定するため)
  • 自動接続
    となっている。

VPN用にufwを改変
#

*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]

# Allow LAN traffic
-A ufw-before-input -i br0 -j ACCEPT
-A ufw-before-output -o br0 -j ACCEPT
-A ufw-before-input -i br0  -d 192.168.1.1 -j ACCEPT

# Allow established/related connections
-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# NordVPN
-A ufw-before-forward -i br0 -o nordlynx -j ACCEPT
-A ufw-before-forward -i nordlynx -o br0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -m mark --mark 0xe1f1 -o enp1s0 -j ACCEPT

# Allow traffic from tailscale0
-A ufw-before-forward -i tailscale0 -j ACCEPT
-A ufw-before-forward -o tailscale0 -j ACCEPT
-A ufw-before-output -m mark --mark 0x80000 -o enp1s0 -j ACCEPT

COMMIT

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o enp1s0 -m mark --mark 0x80000 -j MASQUERADE
-A POSTROUTING -o tailscale0 -j MASQUERADE
-A POSTROUTING -o nordlynx -j MASQUERADE
COMMIT

nordvpn c japanでVPNに接続してみたらつながるはず。
また、接続が完了できたら再起動してtailscaleやnordvpnが正常に起動するかも見る。

Todo
#

  • Tailscale経由のデバイスがNordVPN切断時に生ipを使用する。
    なにか対策を考えている。
Re:Ubuntu Router - This article is part of a series.
Part 3: This Article

Related

ルーター部分のセットアップ
·3 分
Network Linux Network
ルーターの概要
·3 分
Network Linux Network
ubuntu serverをルーター化する2
·4 分
Network Linux Network
ubuntu serverをルーター化する
·3 分
Network Linux Network
kvmでIntel ARCをパススルーする。
·6 分
Kvm Linux Kvm
HyperVにGPUを割り当てて優勝したかった
·3 分
Linux Linux