2017年4月22日土曜日

esxi ファイアウォール 設定

ESXiへ新しいアプリのPortを開けるのはvSphereではできません。
ESXiのサーバーにssh接続してから作業しなければならないです。

ESXi 6.5から作業をします。
今回はJob Arrangerの穴を開けて見ます。
ファイアウォールのリストを確認します。
[root@localhost:~] esxcli network firewall ruleset list
Name                      Enabled
------------------------  -------
sshServer                    true
sshClient                   false
nfsClient                   false
nfs41Client                 false
dhcp                         true
dns                          true
snmp                         true
ntpClient                   false
CIMHttpServer                true
CIMHttpsServer               true
CIMSLP                       true
iSCSI                       false
vpxHeartbeats                true
updateManager                true
faultTolerance               true
webAccess                    true
vMotion                      true
vSphereClient                true
activeDirectoryAll          false
NFC                          true
HBR                          true
ftpClient                   false
httpClient                  false
gdbserver                   false
DVFilter                    false
DHCPv6                      false
DVSSync                      true
syslog                      false
IKED                        false
WOL                          true
vSPC                        false
remoteSerialPort            false
vprobeServer                false
rdt                          true
cmmds                        true
vsanvp                       true
rabbitmqproxy                true
ipfam                       false
vvold                       false
iofiltervp                  false
esxupdate                   false
vit                         false
vsanhealth-multicasttest    false
[root@localhost:~]

Enabledの意味は登録はされていますがtrueは穴が開けている、falseは開けてないことです。
見た感じだとjobarrangerがないため登録して見ます。
1.対象になるファイルのバックアップ
cp /etc/vmware/firewall/service.xml /etc/vmware/firewall/service.xml.bak

2.権限変更
chmod 644 /etc/vmware/firewall/service.xml
chmod +t /etc/vmware/firewall/service.xml

3.service.xmlファイルに登録
最後の部分</ConfigRoot>の上に

  <!-- Job Arranger -->
   <service id='0042'>
        <id>jobarranger</id>
        <rule id='0000'>
           <direction>inbound</direction>
           <protocol>tcp</protocol>
           <porttype>dst</porttype>
           <port>10055</port>
        </rule>
        <rule id='0001'>
           <direction>outbound</direction>
           <protocol>tcp</protocol>
           <porttype>dst</porttype>
           <port>10061</port>
        </rule>
        <enabled>true</enabled>
        <required>true</required>
     </service>
貼り付けます。
内容を説明すると
service idはuniqueになります。最後の番後の1つ上の番号を書きます。
idは表示される名前です。(例:jobarranger)
rule idはこれから使用するルールを書きます。
    このルールとはinboundするかoutboundするかを書きます。
    inboundとoutboundを利用するならrule idが2個になるし、色々Portを使用するならrule idが複数になります。でも、uniqueな番号を使ってください。。
directionはinboundかoutboundを使ってください。
protocolはtcpかudpかを書きます。
porttypeはdstです。
portは開くportを書きます。
enabledは追加する内容ですのでtrueをします。
requiredは追加する内容ですのでtrueをします。

4.権限戻し
chmod 444 /etc/vmware/firewall/service.xml

5.firewall再起動
esxcli network firewall refresh

6.確認
[root@localhost:~] esxcli network firewall ruleset list
Name                      Enabled
------------------------  -------
sshServer                    true
sshClient                   false
nfsClient                   false
nfs41Client                 false
dhcp                         true
dns                          true
snmp                         true
ntpClient                   false
CIMHttpServer                true
CIMHttpsServer               true
CIMSLP                       true
iSCSI                       false
vpxHeartbeats                true
updateManager                true
faultTolerance               true
webAccess                    true
vMotion                      true
vSphereClient                true
activeDirectoryAll          false
NFC                          true
HBR                          true
ftpClient                   false
httpClient                  false
gdbserver                   false
DVFilter                    false
DHCPv6                      false
DVSSync                      true
syslog                      false
IKED                        false
WOL                          true
vSPC                        false
remoteSerialPort            false
vprobeServer                false
rdt                          true
cmmds                        true
vsanvp                       true
rabbitmqproxy                true
ipfam                       false
vvold                       false
iofiltervp                  false
esxupdate                   false
vit                         false
vsanhealth-multicasttest    false
jobarranger                  true
[root@localhost:~]
赤い部分が追加されていることがわかります。

7.ESXiの再起動の対応
ファイアウォールはESXiを再起動すると最初のところに戻りますのでいつでも開けられるように設定します。
/etc/rc.local.d/local.sh ファイルへ追記します。
最後のexit 0の上の部分
vi /etc/rc.local.d/local.sh
#Job Arranger START
cp /etc/vmware/firewall/service.xml /etc/vmware/firewall/service.xml.bak
chmod 644 /etc/vmware/firewall/service.xml
chmod +t /etc/vmware/firewall/service.xml
sed -i -e 's/<\/ConfigRoot>//g' /etc/vmware/firewall/service.xml
cat<<_EOT_>>/etc/vmware/firewall/service.xml
  <!-- Job Arranger -->
     <service id='0042'>
        <id>jobarranger</id>
        <rule id='0000'>
           <direction>inbound</direction>
           <protocol>tcp</protocol>
           <porttype>dst</porttype>
           <port>10055</port>
        </rule>
        <rule id='0001'>
           <direction>outbound</direction>
           <protocol>tcp</protocol>
           <porttype>dst</porttype>
           <port>10061</port>
        </rule>
        <enabled>true</enabled>
        <required>true</required>
     </service>
</ConfigRoot>
_EOT_
chmod 444 /etc/vmware/firewall/service.xml
esxcli network firewall refresh
##Job Arranger END

これで再起動対策は完了になります。
Job ArrangerをESXiにインストールして見ましょう。
http://naiggy.blogspot.com/2017/04/job-arrangeresxi.html
ご参考ください。

以上です。

0 件のコメント: