iptables ルールを適用すると、Proxmox に「ログインに失敗しました。再試行してください」と表示されます。

iptables ルールを適用すると、Proxmox に「ログインに失敗しました。再試行してください」と表示されます。

仮想化したい強力な専用サーバーがありました。アイデアは、ホストシステムにProxmox VEをインストールしてから、各用途に適した仮想マシン(私のウェブサイト用、Gitリポジトリ用など)を作成することです。

私はちょうどiptablesで遊び始め、時間が悪いことを認めなければなりません。私は小さなスクリプトを書いた。

#!/bin/bash

# Empty any existing rule
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Remove personnal chains
iptables -X
iptables -t nat -X
iptables -t mangle -X

# Enable ESTABLISHED and RELATED communications, accepts answers
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Enable ping
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -m limit --limit 5/s -j ACCEPT

# Enable remote acccess through SSH
iptables -A INPUT -p TCP --dport ssh -j ACCEPT
iptables -A INPUT -p TCP --dport http -j ACCEPT

# ACCEPT DNS
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT

# Web output (HTTP & HTTPS)
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT

# Open ports for proxmox input
iptables -I INPUT -p tcp --dport 8006 -j ACCEPT
iptables -I INPUT -p tcp --dport 5900 -j ACCEPT
iptables -I INPUT -p tcp --dport 5999 -j ACCEPT
iptables -I INPUT -p tcp --dport 3128 -j ACCEPT

# Default to DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

ここにはまだフラックスルーティングはありません。私の目標は、まずProxmoxが安全な環境で正しく動作するために必要なすべてのポートを開くことです。

スクリプトを実行すると、proxmoxのWeb UI(8006)が表示されますが、ログインすることはできません。 Proxmox では、「ログインに失敗しました。もう一度お試しください」というメッセージが表示されます。すべてのルールが消えると、すべてがうまく機能します。

誰でも助けることができますか?

ベストアンサー1

内部通信がiptablesによってブロックされないように、ループバックデバイスのすべてを許可するルールが必要です。

iptables -I INPUT -i lo -j ACCEPT
iptables -I OUTPUT -o lo -j ACCEPT

おすすめ記事