0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

さくらのVPSで複数のVPSをスイッチで繋ぎ、スイッチ経由で通信しようとしてつまずいた話

Posted at

前提・注意事項

  • さくらのVPSを同一リージョンで複数契約している
  • VPS同士をスイッチで繋いでいる
  • OSはUbuntu
  • ポート開放の話は省略します

単語についての説明

公開サーバー

インターネットに対して直接アクセスすることができるサーバー

内部サーバー

公開サーバーを経由しないとインターネットに接続できないサーバー

つまずいた点1 プライベートIPアドレスの割り当て

これについてはそこまで厄介な話ではなく、/etc/netplan/01-netcfg.yamlスイッチを設定しているイーサネットアダプターに対してIPアドレスを割り当ててあげるだけのシンプルなお話でした

/etc/netplan/01-netcfg.yaml(公開サーバー)
(前略)
"ens4":
      dhcp4: false
      addresses:
        - 192.168.1.1/24
      nameservers:
        addresses:
          - 127.0.0.1
/etc/netplan/01-netcfg.yaml(内部サーバー(例))
(前略)
"ens3":
      dhcp4: false
      addresses:
        - 192.168.1.2/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 192.168.1.1

私の場合は公開サーバーで内部サーバーに対してDNSを提供して通信を行うようにしている関係上、ネームサーバーが公開サーバーのIPアドレスになっていますが、ここはご自身の環境に合わせて変えて下さい。

最後にsudo netplan applyでIPアドレスの割り当ては完了となります。

つまずいた点2 内部サーバーがインターネットにアクセスできない

これはただ公開サーバーでこれ叩いただけ。正直解説いらんような気もする

sudo apt-get install iptables-persistent
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
sudo iptables -A FORWARD -i ens4 -o ens3 -j ACCEPT
sudo iptables -A FORWARD -i ens3 -o ens4 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo netfilter-persistent save
sudo netfilter-persistent reload

つまずいた点3 プロキシジャンプで内部サーバーへSSH接続できない

実はこれがものすごく解決に時間かかりまして、原因が分からないまま3日も作業してしまいました。
そもそも公開サーバーからダイレクトにSSHもできなかったので…。

まあこれについてもすっごくばかばかしい話でした。

sshd_config
ListenAddress 192.168.1.2

sshd_config見たらこのListenAddressに、このVPSに割り当てられたグローバルIPアドレスが書かれていて、それに気づいた時は「あ、こいつが原因だったのかよ…」って思いましたね。
そして最後にsudo rebootで完了です。
sudo systemctl restart ssh.serviceで良いんじゃないかと思う人もいるかと思うんですけど、それだとListenAddressが更新されなかった+他にもやってたから一括でアップデートしちゃえ精神で再起動しました。

最後に

まあそもそもこんな面倒なこと、個人レベルでやるほどのことって何やってんだって思うかもしれないんですが、これ実はゲームのサービス用サーバーとデータベースサーバーを分離したくてこんな面倒な作業してたわけでして、そうでもなければこんなくそめんどくさいことしたいなんて考えません。
もし私と同じようなことをしようと思って同じことでつまずいた人がいたらこれを参考にしてもらえればと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?