Featured image of post さくらVPS でネットワークの設定で詰まったのでメモ

さくらVPS でネットワークの設定で詰まったのでメモ

目次

背景

さくらVPSでWebサーバーを立ち上げていたが再起動後にHTTPSが通らなくなった時のメモ。

構成

シンプルなWebサーバーとAPサーバーの構成。

  • Web サーバー:
    • NGINX のリバースプロキシサーバー
  • AP サーバー:
    • Let’s Encrypt と Node.js のサーバー

なお、ファイアウォールの設定には UFW を使用している。

症状

外部から HTTPS で VPS にアクセスできない。

状況

次の状況だった。

  • インスタンスのパケットフィルターは無効化 (さくら VPS 版のセキュリティグループ)
  • DNS の A と C レコードは正しく外から VPS に向かっていた (dig で確認)
  • 22 番と 80 番はアクセスが可能だった
  • UFW で 22, 80, 443 は許可していた (もちろん enabled)
  • インスタンス内からだと 443 でもアクセスが可能だった

原因

  • iptables の設定だった。
  • さくら VPS では iptables の設定もする必要があった。

解決策

さくら VPS の Ubuntu 20.04 では、下のように設定されていた。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
$ cd /etc/iptables
$ cat rules.v4
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

これに試しに 443 を追加した。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

その後設定を反映したら外部からアクセスが出来た。

1
$ sudo iptables-restore < /etc/iptables/rules.v4

結論

さくら VSP では、iptables も設定する必要があった。

参考文献

最終更新 Nov 23, 2023 02:14 +0900
Built with Hugo
テーマ StackJimmy によって設計されています。