2017年4月23日日曜日

esxi firewall설정 방법

ESXi에서 새로운 app의 port를 여는 것은vSphere에서는 불가능합니다.
ESXi의 서버에 ssh로 접속해서 작업을 해야만 합니다.
그럼 ESXi 6.5에서 작업을 해보겠습니다.
요번에는 Job Arranger의 접속 포트를 열어 보겠습니다.
먼저 firewall의 리스트를 확인 합니다.

[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의 경우는 port기열려있다는 것이고, 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에는 유니크한 ID를 넣습니다. 마지막 번호에 1을 더해 써 넣습니다.
id에는 표시될 이름을 넣습니다.(예:jobarranger)
rule id에는 지금 부터 사용할 rule을 써 넣습니다.
    이 룰에는 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 ruleset list

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의 reboot의 대응
firewall은 ESXi가 reboot되면 처음설정 값으로 돌아가는 현상이 있습니다.
그러므로, service.xml파일에 Port를 추가 해 놓아도 다시 인스톨 때의 service.xml파일로 돌아갑니다. 그것을 방지 하기 위해
/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

이렇게 설정을 하고 reboot를 하면 문제 없이 port가 열려있는 갓을 알 수 있습니다.

Job Arranger을 ESXi에 인스톨 하는 방법을 알아보겠습니다.
http://naiggy.blogspot.com/2017/04/job-arrangeresxi.html
참조 바랍니다.

이상 입니다.

0 件のコメント: