web-dev-qa-db-ja.com

VMにproxmoxファイアウォールルールを適用する方法は?

これは私の現在のシナリオです:

クラウドにproxmoxサーバーがあります。 IPが異なる2つのVMをインストールしました(メインのproxmoxサーバーと同じサブネット上ではありません。理由は [〜#〜] this [〜#〜] を参照してください)。

Proxmoxマシン自体で、完全に機能するiptablesルールのリストを設定しました。

# Allow localhostinterface
/sbin/iptables -A INPUT -i lo -j ACCEPT

#icmp
/sbin/iptables -A INPUT -p ICMP -j ACCEPT

#home network
/sbin/iptables -A INPUT -s xx.xx.xx.xx -j ACCEPT

# Allow already established connections
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Set default policies
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT

#LOG IPTABLES
/sbin/iptables -N LOGGING
/sbin/iptables -A INPUT -j LOGGING
/sbin/iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
/sbin/iptables -A LOGGING -j DROP

ただし、何らかの理由で、これらのルールは仮想マシンには適用されません。仮想マシンは実際には公開されておらず、セキュリティはまったくありません。 proxmoxサーバーで有効な同じルールをVMに適用する方法はありますか?

2
Aaron Ullal

今朝もまったく同じ問題がありましたが、あなたの質問も見つかりました。

このドキュメント によると、PVEファイアウォールを使用してVM全体のルールを設定するには、すべてのマシンにグローバルルールを持つセキュリティグループを作成し、それをすべてのVM。このように、セキュリティグループが変更されると、変更はそれを使用するすべてのVMに影響します。

「Datacenter」(または「cluster」と呼ばれる既存のオーバーレイゾーンがすでに存在するため、/etc/pve/nodes/<nodename>/Host.fwで定義されたルールはVMにも影響を与えるはずなので、少し不便です。 /etc/pve/firewall/cluster.fwのルールはGUIの[Datacenter]セクションに正確に表示されるため、アーキテクチャの問題であると思われ、近いうちに修正または変更される予定です。

1
Tim

ファイアウォールのドキュメント は言う:

VMおよびコンテナのファイアウォールを有効にする

各仮想ネットワークデバイスには、独自のファイアウォール有効フラグがあります。したがって、インターフェースごとにファイアウォールを選択的に有効にすることができます。これは、一般的なファイアウォールの有効化オプションに加えて必要です。

ファイアウォールには特別なネットワークデバイスのセットアップが必要なため、ネットワークインターフェイスでファイアウォールを有効にした後、VM /コンテナーを再起動する必要があります。

したがって、すでに次のことを行っていると仮定します。

  1. datacenterおよび[〜#〜] vm [〜#〜][またはコンテナー](またはコンテナー)のファイアウォールを有効にしましたノードのファイアウォールを有効にする必要はありません)

…次の手順を実行する必要があります。

  1. VMの仮想ネットワークデバイスのファイアウォールを有効にします:Webインターフェイスで、VMのNetwork構成に移動し、Editポップアップを開いてデバイス(例:net0)とFirewallチェックボックスを有効にします
  2. vMを再起動します

(ソリューションが見つかりました ここ 。)

0
myrdd