• ESXi SSH 접속 안될 때

    ESXi SSH 접속 안될 때

    vCenter 운영하다보면 잠금보드를 엄격 (vCenter Server를 통해서만 호스트에 엑세스 할 수 있습니다. 직접 콘솔 UI 서비스가 중지됩니다.) 모드로 변경하면 아무리 SSH 접속이 가능하도록 서비스 항목을 변경하더라도 접속이 안됩니다.

    이때에는 호스트 잠금 모드 지정을 [ 사용 안 함 ] 으로 잠시 변경하여야 합니다.

    보통 VMWARE 상에서 즉 PC에서 서버로 VM을 업로드 할 경우가 있는데

    이때에는 vCenter 에 ESXi 서버가 연결되어져 있다는 이유만으로도 업로드가 금지됩니다.

    당연히 잠시 ESXi 서버를 접속 해제 하고 VM 업로드 완료되면 다시 연결해서 사용하면 됩니다.

    ESXi 잠금 모드는 권한 문제랑 직결되지만 실제로 SSH 내에서 권한문제는 없었습니다.

    단지 UEFI 모드 보안 부팅 로그인이 될 경우 권한 문제가 심각하게 발생했죠.

    이 부분에 대한 자세한 내용은 아래 글을 참고해주세요.

  • ESXi vision 정보 확인

    ESXi vision 정보 확인

    ESXi 관리자 Web Client 접속하여 오른쪽 도움말 항목에서 [ 정보 ] 를 클릭하면 버전을 알 수 있습니다.

    그리고 탐색기에서 [ 호스트 ] 항목을 확인하면 위에 보이시는 것처럼 [ 구성 ] 항목에 ESXi-7.0U3d-19482537-standard 나옵니다

    도움말 -> 정보 항목에서는 아래처럼 클라이언트 버전과 ESXi 빌드 번호가 나타납니다.

    이 빌드 번호를 VMWARE 홈페이지에서 릴리즈 될 때마다 빌드넘버를 저장하는데 아래 테이블을 보면

    자세히 버전정보랑 빌드 넘버에 대해서 알 수 있습니다.

    VMWARE ESXi Version Build Number Infomation

    VersionRelease NameRelease DateBuild NumberInstaller Build Number
    ESXi 8.0bESXi 8.0b2023/02/1421203435NA
    ESXi 8.0aESXi 8.0a2022/12/0820842819N/A
    ESXi 8.0 GAESXi 8.0 GA2022/10/1120513097N/A
         
    ESXi 7.0 Update 3kESXi 7.0 Update 3k2023/02/23 21313628N/A
    ESXi 7.0 Update 3jESXi 7.0 Update 3j2023/01/3121053776N/A
    ESXi 7.0 Update 3iESXi 7.0 Update 3i2022/12/0820842708N/A
    ESXi 7.0 Update 3gESXi 7.0 Update 3g2022/09/0120328353N/A
    ESXi 7.0 Update 3fESXi 7.0 Update 3f2022/07/1220036589N/A
    ESXi 7.0 Update 3eESXi 7.0 Update 3e2022/06/1419898904N/A
    ESXi 7.0 Update 3dESXi 7.0 Update 3d2022/03/2919482537N/A
    ESXi 7.0 Update 3cESXi 7.0 Update 3c2022/01/2719193900N/A
    ESXi 7.0 Update 3bESXi 7.0 Update 3b2021/11/1218905247See note below
    ESXi 7.0 Update 3aESXi 7.0 Update 3a2021/10/2818825058See note below
    ESXi 7.0 Update 3ESXi 7.0 Update 32021/10/0518644231See note below
    ESXi 7.0 Update 2eESXi 7.0 Update 2e2022/02/1519290878N/A
    ESXi 7.0 Update 2dESXi 7.0 Update 2d2021/09/1418538813N/A
    ESXi 7.0 Update 2cESXi 7.0 Update 2c2021/08/2418426014N/A
    ESXi 7.0 Update 2aESXi 7.0 Update 2a2021/04/2917867351N/A
    ESXi 7.0 Update 2ESXi 7.0 Update 22021/03/0917630552N/A
    ESXi 7.0 Update 1eESXi 7.0 Update 1e2022/02/1519324898N/A
    ESXi 7.0 Update 1dESXi 7.0 Update 1d2021/02/0217551050N/A
    ESXi 7.0 Update 1cESXi 7.0 Update 1c2020/12/1717325551N/A
    ESXi 7.0 Update 1c (security Only)ESXi 7.0 Update 1c (security Only)2020/12/1717325020N/A
    ESXi 7.0 Update 1bESXi 7.0 Update 1b2020/11/1917168206N/A
    ESXi 7.0 Update 1aESXi 7.0 Update 1a2020/11/0417119627N/A
    ESXi 7.0 Update 1ESXi 7.0 Update 12020/10/0616850804N/A
    ESXi 7.0bESXi 7.0b2020/06/2316324942N/A
    ESXi 7.0 GAESXi 7.0 GA2020/04/0215843807N/A
         
    ESXi 6.7 P08ESXi670-2022100012022/10/0620497097N/A
    ESXi 6.7 EP 24ESXi670-2022070012022/07/1219997733N/A
    ESXi 6.7 P07ESXi670-2022060012022/06/1419898906N/A
    ESXi 6.7 EP 23ESXi670-2022010012022/01/2519195723N/A
    ESXi 6.7 P06ESXi670-2021110012021/11/2318828794N/A
    ESXi 6.7 P05ESXi670-2021030012021/03/1817700523N/A
    ESXi 6.7 EP 18ESXi670-2021020012021/02/2317499825N/A
    ESXi 6.7 P04ESXi 670-2020110022020/11/1917167734N/A
    ESXi 6.7 EP 17ESXi670-2020110012020/11/0417098360N/A
    ESXi 6.7 EP 16ESXi670-2020100012020/10/1516773714N/A
    ESXi 6.7 P03ESXi670-2020080012020/08/2016713306N/A
    ESXi 6.7 EP 15ESXi670-2020060012020/06/0916316930N/A
    ESXi 6.7 P02ESXi670-2020040022020/04/2816075168N/A
    ESXi 6.7 EP 14ESXi670-2020040012020/04/0715820472N/A
    ESXi 6.7 P01ESXi670-2019120012019/12/0515160138N/A
    ESXi 6.7 EP 13ESXi670-2019110012019/11/1215018017N/A
    ESXi 6.7 Update 3ESXi 6.7 U32019/08/2014320388N/A
    ESXi 6.7 EP 10ESXi670-2019060022019/06/2013981272N/A
    ESXi 6.7 EP 09ESXi670-2019050012019/05/1413644319N/A
    ESXi 6.7 EP 08ESXi670-2019040012019/04/3013473784N/A
    ESXi 6.7 U2ESXi 6.7 U22019/04/1113006603N/A
    ESXi 6.7 EP 07ESXi670-2019030012019/03/2813004448N/A
    ESXi 6.7 EP 06ESXi670-2019010012019/01/1711675023N/A
    ESXi 6.7 EP 05ESXi670-2018110012018/11/0910764712N/A
    ESXi 6.7 U1ESXi 6.7 U12018/10/1610302608N/A
    ESXi 6.7 EP 04ESXi670-2018100012018/10/0210176752N/A
    ESXi 6.7 EP 03ESXi670-2018080012018/08/149484548N/A
    ESXi 6.7 EP 02aESXi670-2018070012018/07/269214924N/A
    ESXi 6.7 EP 02ESXi670-2018060012018/06/288941472N/A
    ESXi 6.7 GAESXi 6.7 GA2018/04/178169922N/A
         
    ESXi 6.5 P09ESXi650-2022100012022/10/0620502893N/A
    ESXi 6.5 EP27ESXi650-2022070012022/07/1219997716N/A
    ESXi 6.5 P08ESXi650-2022050012022/05/1219588618N/A
    ESXi 6.5 EP26ESXi650-2022020012022/02/1519092475N/A
    ESXi 6.5 P07ESXi650-2021100012021/10/1218678235N/A
    ESXi 6.5 EP 24ESXi650-2021070012021/07/1318071574N/A
    ESXi 6.5 P06ESXi650-2021020012021/02/2317477841N/A
    ESXi 6.5 EP 23ESXi 650-2020110022020/11/1917167537N/A
    ESXi 6.5 EP 22ESXi650-2020110012020/11/0417097218N/A
    ESXi 6.5 EP 21ESXi650-2020100012020/10/1516901156N/A
    ESXi 6.5 P05ESXi650-2020070012020/07/3016576891N/A
    ESXi 6.5 EP 20ESXi650-2020060012020/06/3016389870N/A
    ESXi 6.5 EP 19ESXi650-2020050012020/05/2816207673N/A
    ESXi 6.5 P04ESXi650-2019120022019/12/1915256549N/A
    ESXi 6.5 EP 18ESXi650-2019120012019/12/0515177306N/A
    ESXi 6.5 EP 17ESXi650-2019110012019/11/1214990892N/A
    ESXi 6.5 EP 16ESXi650-2019100012019/10/2414874964N/A
    ESXi 6.5 EP 15ESXi650-2019080012019/08/2014320405N/A
    ESXi 6.5 Update 3ESXi 6.5 Update 32019/07/0213932383N/A
    ESXi 6.5 EP 14ESXi650-2019050012019/05/1413635690N/A
    ESXi 6.5 EP 13ESXi650-2019030012019/03/2813004031N/A
    ESXi 6.5 EP 12ESXi650-2019010012019/01/3111925212N/A
    ESXi 6.5 P03ESXi650-2018110022018/11/2910884925N/A
    ESXi 6.5 EP 11ESXi650-2018110012018/11/0910719125N/A
    ESXi 6.5 EP 10ESXi650-2018100022018/10/2310390116N/A
    ESXi 6.5 EP 09ESXi650-2018100012018/10/0210175896N/A
    ESXi 6.5 U2CESXi650-2018080012018/08/149298722NA
    ESXi 6.5 U2bESXi650-2018060012018/06/288935087N/A
    ESXi 6.5 U2 GAESXi 6.5 U2 GA2018/05/038294253N/A
    ESXi 6.5 U1gESXi650-2018030012018/03/207967591N/A
    ESXi 6.5 Patch 02ESXi650-2017120012017/12/197388607N/A
    ESXi 6.5 U1 Express Patch 4ESXi650-2017100012017/10/056765664N/A
    ESXi 6.5 U1ESXi 6.5 U12017/07/275969303N/A
    ESXi 6.5.0dESXi650-2017040012017/04/185310538N/A
    ESXi 6.5. Express Patch 1aESXi650-2017030022017/03/285224529N/A
    ESXi 6.5. Patch 01ESXi650-2017030012017/03/0951468465146843
    ESXi 6.5.0 aESXi650-2017010012017/02/024887370N/A
    ESXi 6.5 GAESXi 6.5 GA2016/11/154564106N/A
         
    ESXi 6.0 EP 25ESXi600-2020020012020/02/2015517548N/A
    ESXi 6.0 EP 23ESXi600-2019120012019/12/0515169789N/A
    ESXi 6.0 P08ESXi600-2019090012019/09/1214513180N/A
    ESXi 6.0 EP 22ESXi600-2019110012019/11/1215018929N/A
    ESXi 6.0 EP 21ESXi600-2019050012019/05/1413635687N/A
    ESXi 6.0 EP 20ESXi600-2019030012019/03/2813003896N/A
    ESXi 6.0 EP 19ESXi600-2018110012018/11/0910719132N/A
    ESXi 6.0 EP 18ESXi600-2018100012018/10/2310474991N/A
    ESXi 6.0 EP 17ESXi600-2018090012018/09/139919195N/A
    ESXi 6.0 EP 15ESXi600-2018080012018/08/149313334N/A
    ESXi 6.0 P07ESXi600-2018070012018/07/269239799N/A
    ESXi 6.0 U3fESXi600-2018060012018/06/288934903N/A
    ESXi 6.0 U3eESXi600-2018030012018/03/207967664N/A
    ESXi 6.0 U3dESXi600-2018010012018/01/097504637NA
    ESXi 6.0 Patch 6ESXi600-2017110012017/11/096921384N/A
    ESXi 6.0 Express Patch 11ESXi600-2017100012017/10/056765062N/A
    ESXi 6.0 Update 3a (ESXi 6.0 Patch 5)ESXi600-2017060012017/06/065572656N/A
    ESXi 6.0 Express Patch 7cESXi600-2017030032017/03/285251623N/A
    ESXi 6.0 Update 1 (VMSA-2017-0006)ESXi600-2017030022017/03/285251621N/A
    ESXi 6.0 Express Patch 7aESXi600-2017030012017/03/285224934N/A
    ESXi 6.0 Update 3ESXi 6.0 Update 32017/02/245050593N/A
    ESXi 6.0 Patch 4ESXi600-2016110012016/11/224600944N/A
    ESXi 6.0 Express Patch 7ESXi600-20161000110/17/20164510822N/A
    ESXi 6.0 Patch 3ESXi600-2016080012016/08/044192238N/A
    ESXi 6.0 Express Patch 6ESXi600-2016050012016/05/123825889N/A
    ESXi 6.0 Update 2ESXi 6.0 Update 22016/03/163620759N/A
    ESXi 6.0 Express Patch 5ESXi600-2016020012016/02/233568940N/A
    ESXi 6.0 Update 1bESXi600-2016010012016/01/073380124N/A
    ESXi 6.0 Express Patch 4ESXi600-2015110012015/11/253247720N/A
    ESXi 6.0 U1a (Express Patch 3)ESXi600-2015100012015/10/063073146N/A
    ESXi 6.0 U1ESXi 6.0 U12015/09/103029758N/A
    ESXi 6.0.0bESXi600-2015070012015/07/072809209N/A
    ESXi 6.0 Express Patch 2ESXi600-2015050012015/05/142715440N/A
    ESXi 6.0 Express Patch 1ESXi600-2015040012015/04/0926157042615979
    ESXi 6.0 GAESXi 6.0 GA2015/03/122494585N/A
         
    ESXi 5.5 U3kESXi550-2018090012018/09/149919047N/A
    ESXi 5.5 U3JESXi550-2018080012018/08/149313066NA
    ESXi 5.5 U3iESXi550-2018060012018/06/288934887N/A
    ESXi 5.5 U3hESXi550-2018030012018/03/207967571N/A
    ESXi 5.5 Express Patch 13ESXi550-2018010022018/01/227618464N/A
    ESXi 5.5 Update 3fESXi550-2017090012017/09/146480324N/A
    ESXi 5.5 Express Patch 11ESXi550-2017030012017/03/285230635N/A
    ESXi 5.5 Patch 10ESXi550-2016120012016/12/2047227664761836
    ESXi 5.5 Patch 9ESXi550-2016090012016/09/1543458134362114
    ESXi 5.5 Patch 8ESXi550-2016080012016/08/044179633N/A
    ESXi 5.5 Express Patch 10ESXi550-2016020012016/02/213568722N/A
    ESXi 5.5 Express Patch 9ESXi550-2016010012016/01/043343343N/A
    ESXi 5.5 Update 3bESXi550-2015120012015/12/083248547N/A
    ESXi 5.5 Update 3aESXi550-2015100012015/10/063116895N/A
    ESXi 5.5 Update 3ESXi 5.5 Update 32015/09/163029944N/A
    ESXi 5.5 Patch 5 re-releaseESXi550-2015050022015/05/082718055N/A
    ESXi 5.5 Express Patch 7ESXi550-2015040012015/04/072638301N/A
    ESXi 5.5 Express Patch 6ESXi550-2015020012015/02/052456374N/A
    ESXi 5.5 Patch 4ESXi550-2015010012015/01/272403361N/A
    ESXi 5.5 Express Patch 5ESXi550-2014120012014/12/022302651N/A
    ESXi 5.5 Patch 3ESXi550-2014100012014/10/152143827N/A
    ESXi 5.5 Update 2ESXi 5.5 Update 22014/09/092068190N/A
    ESXi 5.5 Patch 2ESXi550-2014070012014/07/011892794N/A
    ESXi 5.5 Express Patch 4ESXi550-2014060012014/06/101881737N/A
    ESXi 5.5 Update 1aESXi550-2014040012014/04/191746018N/A
    ESXi 5.5 Express Patch 3ESXi550-2014040202014/04/191746974N/A
    ESXi 5.5 Update 1ESXi 5.5 Update 12014/03/111623387N/A
    ESXi 5.5 Patch 1ESXi550-2013120012013/12/221474528N/A
    ESXi 5.5 GAESXi 5.5 GA2013/09/221331820N/A
         
    ESXi 5.1 Patch 9ESXi 5.1 Patch 92016/05/243872664N/A
    ESXi 5.1 Patch 8ESXi 5.1 Patch 82015/10/013070626N/A
    ESXi 5.1 Patch 7ESXi 5.1 Patch 72015/03/262583090N/A
    ESXi 5.1 Update 3ESXi 5.1 Update 32014/12/042323236N/A
    ESXi 5.1 Patch 6ESXi 5.1 Patch 62014/10/302191751N/A
    ESXi 5.1 Patch 5ESXi 5.1 Patch 52014/07/312000251N/A
    ESXi 5.1 Express Patch 5ESXi 5.1 Express Patch 52014/06/171900470N/A
    ESXi 5.1 Patch 4ESXi 5.1 Patch 42014/04/291743533N/A
    ESXi 5.1 Express Patch 4ESXi 5.1 Express Patch 42014/02/271612806N/A
    ESXi 5.1 Update 2ESXi 5.1 Update 22014/01/161483097N/A
    ESXi 5.1 Patch 3ESXi 5.1 Patch 32013/10/171312873N/A
    ESXi 5.1 Patch 2ESXi 5.1 Patch 22013/07/251157734N/A
    ESXi 5.1 Express Patch 3ESXi 5.1 Express Patch 32013/05/231117900N/A
    ESXi 5.1 Update 1ESXi 5.1 Update 12013/04/251065491N/A
    ESXi 5.1 Express Patch 2ESXi 5.1 Express Patch 22013/03/071021289N/A
    ESXi 5.1 Patch 1ESXi 5.1 Patch 12012/12/20914609N/A
    ESXi 5.1.0aESXi 5.1.0a2012/10/25838463N/A
    ESXi 5.1.0 GAESXi 5.1.0 GA2012/09/10799733N/A
         
    ESXi 5.0 Patch 13ESXi 5.0 Patch 132016/06/143982828N/A
    ESXi 5.0 Patch 12ESXi 5.0 Patch 122015/10/013086167N/A
    ESXi 5.0 Patch 11ESXi 5.0 Patch 112015/02/242509828N/A
    ESXi 5.0 Patch 10ESXi 5.0 Patch 102014/12/042312428N/A
    ESXi 5.0 Patch 9ESXi 5.0 Patch 92014/08/282000308N/A
    ESXi 5.0 Express Patch 6ESXi 5.0 Express Patch 62014/07/011918656N/A
    ESXi 5.0 Patch 8ESXi 5.0 Patch 82014/05/291851670N/A
    ESXi 5.0 Patch 7ESXi 5.0 Patch 72014/01/231489271N/A
    ESXi 5.0 Update 3ESXi 5.0 Update 32013/10/171311175N/A
    ESXi 5.0 Patch 6ESXi 5.0 Patch 62013/08/291254542N/A
    ESXi 5.0 Express Patch 5ESXi 5.0 Express Patch 52013/05/151117897N/A
    ESXi 5.0 Patch 5ESXi 5.0 Patch 52013/03/281024429N/A
    ESXi 5.0 Update 2ESXi 5.0 Update 22012/12/20914586N/A
    ESXi 5.0 Patch 4ESXi 5.0 Patch 42012/09/27821926822948
    ESXi 5.0 Patch 3ESXi 5.0 Patch 32012/07/12768111N/A
    ESXi 5.0 Express Patch 4ESXi 5.0 Express Patch 42012/06/14721882N/A
    ESXi 5.0 Express Patch 3ESXi 5.0 Express Patch 32012/05/03702118N/A
    ESXi 5.0 Express Patch 2ESXi 5.0 Express Patch 22012/04/12653509N/A
    ESXi 5.0 Update 1ESXi 5.0 Update 12012/03/15623860N/A
    ESXi 5.0 Patch 2ESXi 5.0 Patch 22011/12/15515841N/A
    ESXi 5.0 Express Patch 1ESXi 5.0 Express Patch 12011/11/03504890N/A
    ESXi 5.0 Patch 1ESXi 5.0 Patch 12011/09/13474610474643
    ESXi 5.0 GAESXi 5.0 GA2011/08/24469512469965
         
    ESX 4.1 Patch 11aESX 4.1 Patch 11a2014/10/012168595N/A
    ESXi/ESX 4.1 Patch 11ESXi/ESX 4.1 Patch 112014/04/101682698N/A
    ESXi/ESX 4.1 Patch 10ESXi/ESX 4.1 Patch 102013/12/051363503N/A
    ESXi/ESX 4.1 Patch 9ESXi/ESX 4.1 Patch 92013/07/311198252N/A
    ESXi/ESX 4.1 Patch 8ESXi/ESX 4.1 Patch 82013/04/301050704N/A
    ESXi/ESX 4.1 Patch 7ESXi/ESX 4.1 Patch 72013/01/31988178N/A
    ESXi/ESX 4.1 Patch 6ESXi/ESX 4.1 Patch 62012/11/15874690N/A
    ESXi/ESX 4.1 Express Patch 3ESXi/ESX 4.1 Express Patch 32012/06/14721871N/A
    ESXi/ESX 4.1 Express Patch 2-1ESXi/ESX 4.1 Express Patch 2-12012/05/03702113N/A
    ESXi/ESX 4.1 Patch 5ESXi/ESX 4.1 Patch 52012/04/26659051N/A
    ESXi/ESX 4.1 Patch 4ESXi/ESX 4.1 Patch 42012/01/30582267N/A
    ESXi/ESX 4.1 Update 3ESXi/ESX 4.1 Update 32012/08/30800380N/A
    ESXi/ESX 4.1 Update 2ESXi/ESX 4.1 Update 22011/10/27502767N/A
    ESXi/ESX 4.1 Patch 3ESXi/ESX 4.1 Patch 32011/07/28433742N/A
    ESXi 4.1 Patch 2ESXi 4.1 Patch 22011/04/28381591382386
    ESX 4.1 Patch 2ESX 4.1 Patch 22011/04/28381591396960
    ESXi 4.1 Update 1ESXi 4.1 Update 12011/02/10351620348481
    ESX 4.1 Update 1ESX 4.1 Update 12011/02/10351621348481
    ESX 4.1 Express Patch 1ESX 4.1 Express Patch 12010/11/30320381320137
    ESX 4.1 Patch 1ESX 4.1 Patch 12010/11/16320092N/A
    ESX 4.1 GAESX 4.1 GA2010/07/13260247N/A
         
    ESX 4.0 Patch 15ESX 4.0 Patch 152014/10/012167889N/A
    ESX 4.0 Patch 14ESX 4.0 Patch 142013/10/241335992N/A
    ESX 4.0 Patch 13ESX 4.0 Patch 132012/05/301070634N/A
    ESX 4.0 Express Patch 9ESX 4.0 Express Patch 92013/02/07989856N/A
    ESX 4.0 Patch 12ESX 4.0 Patch 122012/09/14787047N/A
    ESX 4.0 Express Patch 8ESX 4.0 Express Patch 82012/06/14721907N/A
    ESX 4.0 Express Patch 7ESX 4.0 Express Patch 72012/05/03702116N/A
    ESX 4.0 Patch 11ESX 4.0 Patch 112012/03/30660575N/A
    ESXi 4.0 Update 4ESXi 4.0 Update 42011/11/17523315504850
    ESX 4.0 Patch 10ESX 4.0 Patch 102011/10/13480973N/A
    ESXi 4.0 Update 3ESXi 4.0 Update 32011/05/05403554398348
    ESX 4.0 Update 3ESX 4.0 Update 32011/05/05403553398348
    ESX 4.0 Patch 9ESX 4.0 Patch 92011/03/07360236N/A
    ESX 4.0 Patch 8ESX 4.0 Patch 82011/01/04332073N/A
    ESX 4.0 Patch 7ESX 4.0 Patch 72010/09/30294855N/A
    ESX 4.0 Update 2ESX 4.0 Update 22010/06/10261974N/A
    ESX 4.0 Patch 6ESX 4.0 Patch 62010/05/27256968N/A
    ESX 4.0 Patch 5ESX 4.0 Patch 52010/04/01244038N/A
    ESX 4.0 Patch 4ESX 4.0 Patch 42010/03/03236512N/A
    ESX 4.0 Patch 3ESX 4.0 Patch 32010/01/06219382N/A
    ESX 4.0 Update 1ESX 4.0 Update 12009/11/19208167N/A
    ESX 4.0 Patch 2ESX 4.0 Patch 22009/09/24193498N/A
    ESX 4.0 Patch 1ESX 4.0 Patch 12009/07/09175625N/A
    ESX 4.0 Eval & Free DownloadESX 4.0 Eval & Free Download 171294N/A
    ESX 4.0 GAESX 4.0 GA2009/05/21164009N/A

    제가 사용하는 빌드넘버 19482537 [ ESXi 7.0 Update 3d ] 버전은 VMWARE 본사에서 정식으로 등록받은 인증키를 이용하여 서버를 구축하고 있습니다. 벌써 2년이 넘어가고 있군요. 그동안 버전 8도 나오고 점점 발전하는 가상화 시스템을 보면서 모르면 손해를 볼 수 밖에 없는 구조로 사회가 점점 변화하고 있다는 사실도 알게 되었습니다.

    ESXi 라이센스 키 발급은 VMWARE 본사 홈페이지에서 구입 할 수 있습니다.

  • 개인서버 구축 제일 먼저 DNS 작업부터 시작하기

    개인서버 구축 제일 먼저 DNS 작업부터 시작하기

    개인서버를 구축할 때 가장 먼저 해야 할 부분은 바로 DNS 작업입니다.

    다른 작업들 보다 우선적으로 해야 합니다.

    DNS 서버를 잡아주는 것은 당연합니다.

    AWS DNS 서버 운영하기

    1. AWS EC2 인스턴스를 이용하여 DNS 서버를 구축합니다.

    보통 DNS 서버는 2대 이상을 권장하므로 EC2 2대를 DNS서버로 운영합니다.

    2. ESXi 서버 DNS와 VM의 DNS 정보를 구축한 DNS서버로 등록합니다.

    첫번째 단계와 두번째 단계는 매우 중요합니다.

    보통 ESXi 서버, Linux 서버, VM 에 등록되는 DNS를 기본으로 잡아놓는 경우가 많습니다.

    이로 인해서 서버간의 통신이 원할하지 않게 되는 경우를 종종 보게되죠.

    다른건 몰라도 서버간의 통신이 원할하게 될 수 있도록 서버간에 DNS 정보는 일괄적으로 구축한 DNS서버 주소를 등록합니다.

    DNS 작업이 완료되면 그 다음부터는 서버를 무한 확장 할 수 있는 관리자 시스템을 구축하여야 합니다.

    이때부터는 무한 반복으로 하드웨어 증설과 소프트웨어 무한 확장모드로 들어가면 됩니다.

    절대 잊지마시요!!

    무슨 시스템을 만들더라도 DNS 서버구축과 서버 클라이언트간의 통신을 원할하도록 DNS 등록 해야한다는 점!!

    매우 중요하고 중요해서 포스팅 해 놓았습니다.

    누군가는 이 글을 보면서 아무 의미없이 한번 대충 보고 넘기겠지만…

    주인장인 이 글을 수시로 쳐다봅니다. 그만큼 중요하고 매일마다 인지해야하는 부분이기때문이죠.

    그런부분을 보면 세상은 참 공평한것 같습니다.

    누군가에게는 같은 정보고 고급이고 누군가는 같은 정보고 그저 글자에 불과하니깐요.

    혹시라도 저를 따라 비슷하게 시스템을 만들고 싶으신분들을 위한 키워드를 나열해놓겠습니다.

    AWS(EC2, Route 53), DNS(Bind), DDNS(파이썬, C# DNS 자동화), VMWARE (ESXi, Workstation, VM Template), WORDPRESS, PHP, jQuery, Javascript, json, MYSQL, C#, Macro Express, Data Mining, Big Data, Ai,Teamviewer

    위의 클라우드장비, WAS, Framework, Tools, 기법이 제가 사용하는 것들입니다.

  • ESXi VM Network in ESXi 7 – DHCP 아이피 할당 가능여부

    ESXi VM Network in ESXi 7 – DHCP 아이피 할당 가능여부

    VMWARE IP 할당에 대한 정보

    핵심!! – 가상스위치 (vSwitch) 보안 정책 – Mac 주소 변경 허용

    아래 ESXi 설치는 Win10 Host 아래에 VMWARE 에서 동작하고 있습니다.

    VMWARE에서 ESXi 를 설치하여 공인 IP를 할당 받아 외부에서 접속이 가능합니다.

    이 정도 수준까지는 대부분 알고 있는 정보입니다.

    그렇다면 그 다음단계까지에도 DHCP 를 이용한 IP 할당이 가능한지 여부를 알아보기 위한 정보입니다.

    1. VMWARE -> ESXi -> ESXi 공인 아이피 할당 가능

    보통 외부접근 아이피를 할당 받기 위해서는 ISP 업체의 공인 IP를 확보해야합니다.

    하지만 VMWARE 에서 제공하는 가상 네트워크 환경에서는 NAT 방식과 Brige 등의 여러 방법이 존재하여 생각한대로 공인 IP를 할당받기 위해서는 특별한 세팅이 필요합니다.

    위의 방식이 적용된다는것은 VMWARE 내부에서 생성된 VM에서 DHCP 가 유지 된다는 것을 알 수 있습니다.

    그리고 ESXi 에서 만들어진 ESXi 뿐만 아니라 모든 VM에 또 다시 DHCP 가 적용되어 아이피를 할당 받습니다.

    이 방식은 실제로 VMWARE 가 아닌 ESXi 가 메인 host 라도 같은 상황으로 DHCP 이용해서 아이피를 할당 받습니다.

    VMWARE -> ESXi -> VM (Linux, Windows, ESXi) IP 할당 완료

    윈도우 VM 에서도 IP를 할당 받았고 리눅스 VM에서도 IP를 할당 받았습니다.

    이부분까지는 당연히 되어야 하는 부분입니다.

    다음 부분에서 제가 알고 싶은 부분입니다.

    바로 ESXi 안에서 ESXi 를 만들고 또 그안에서 VM Guest를 생성할 경우 DHCP 가 적용되는지 여부입니다.

    이제부터가 진짜 시작입니다.

    ESXi 에서 생성된 VM 게스트의 ESXi 에서도 DHCP 가 적용되어 최종적으로 생성되는 VM에서 공인 아이피를 활당 받아야 합니다. 이부분이 가장 중요한 부분입니다.

    이론상으로는 무조건 되어야 하는데…

    이상하게 ESXi 호스트에서 ESXi를 설치 할 경우 최종 생성되는 VM에 아이피 할당이 이루어지지 않았습니다.

    바로 그 부분에 대한 정보입니다.

    아래의 ESXi 호스트가 바로 [ VMWARE -> ESXi 125.xxx.xxx.195 -> ESXi 211.xxx.xxx.73 ] 입니다.

    여기에서 포인트가 ESXi 에서 게스트로 제공하는 ESXi 에 제공되는 네트워크 환경이 ESXi 호스트에 의해서 제어를 당한다는 것이 제가 생각하고 있는 가설입니다.

    왜냐하면 ESXi 호스트에서 ESXi VM을 생성하고 그곳에 제작한 리눅스 VM은 아이피 할당을 못 받기 때문입니다.

    만약 이 부분이 이상없이 최종 ESXi 서버에서 DHCP IP를 할당 받게 된다면…

    제가 운영하고 있는 ESXi 호스트의 네트워크 환경이 잘 못 된거라고 봐야죠.

    처음에 실행을 하니 제가 마주했던 증상이 제일먼저 보였습니다.

    가상 시스템 webServer_Linux_2의 전원을 켜지 못했습니다. 이 호스트는 Intel VT-x를 지원하지 않습니다. 자세한 정보를 보려면 여기를 클릭하십시오.

    이 부분은 호스트 ESXi 쪽에서 게스트 ESXi CPU 항목을 변경해주면 됩니다.

    VMWARE에서는 아래처럼 하드웨어 정보를 수정하면됩니다.

    ESXi Client 에서는 아래처럼 하드웨어 정보를 수정하면 됩니다.

    다시 ESXi 가 부팅시키면 이번에는 VT-x 항목이 나오지 않게 됩니다.

    이제 방금 생성한 webServer_Linux, webServer_Linux_2 각각 VM을 실행해보겠습니다.

    그런데… 큰일났습니다.

    부팅 몇초면 끝나는 웹서버가 거의 2분정도 부팅을 하고 있네요.

    Windows HOST -> VMWARE -> ESXi -> ESXi -> Linux 이렇게 총 5단계에 걸쳐 생성된 최종 VM 이미지라서 그런지 너무 느리네요.

    최종적으로 IP를 할당받지 못하였습니다.

    제가 내린 결론은 이렇습니다.

    ESXi 에서 생성한 네트워크 시스템은 어떠한 가공처리로 인해서 그 다음단계의 ESXi 게스트쪽으로 전달 되는 네트워크 패킷에 DHCP IP할당 받지 못하도록 무언가 조치를 하고 있다. ( 그냥 제 의견입니다. 현재까지 알아낸 정보)

    결국 ESXi 호스트에서 DHCP 아이피 할당은 가능하지만 ESXi 게스트를 통한 한번 더 문어발 확장은 어렵다.

    그럼 혹시 이건 될까요?

    Windows HOST -> VMWARE -> ESXi -> VMWARE -> ESXi -> VM

    이렇게 ESXi 와 ESXi 사이에 VMWARE를 한번 더 넣어버리면 속도는 엄청 느려지지만 자체 사설 IP 네트워크 망을 구축할 수 있습니다.

    물론 ESXi 에서 물리적인 NIC와 가상 스위치를 추가하여 사설 IP 내부 네트워크 망을 구축 할 수 있습니다.

    그렇니 결국 중간에 VMWARE가 들어가는것 자체는 무의미해지죠.

    하지만 VMWARE로 인해서 그 다음단계의 ESXi 서버에서 ISP 공인IP의 DHCP 할당이 이루어진다면…또 말이 달라지죠

    위에서 제가 말씀드린 [ Windows HOST -> VMWARE -> ESXi -> VMWARE -> ESXi -> VM ] 이 항목에서 VMWARE 자체만 설치를 할 수 없기때문에 OS (리눅스, 윈도우즈)를 설치해야합니다.

    그리고 그 위에 VMWARE를 설치해야하니 무겁고 느릴수 밖에 없죠.

    구조상 할 수도 없지만 제가 알고 싶은 내용은 ESXi -> ESXi 를 두번 통할 경우 DHCP 할당이 안되는것을 보고

    ESXi 네트워크 환경을 바꿔주어야 하는건가 싶어 그 부분을 알고자 서버 시스템을 만들어보았습니다.

    ESXi 네트워크 환경을 잘 알려주는 정보가 없네요.

    직접 삽질하고 맨땅에 헤딩하는 수 밖에요.

    Windows HOST -> VMWARE -> ESXi -> ESXi -> Windows VM

    리눅스는 그나마 2분~3분 사이에 부팅이 되었지만 윈도우는 메모리를 4기가씩이나 제공했음에도 불구하고 5분이 넘도록 여전히 부팅 중 입니다.

    ESXi 호스트에서 ESXi 게스트쪽으로 DHCP 할당받을 수 있는 방법은 찾아 냈습니다.

    ESXi 네트워크 항목에서 보안 정책을 허용으로 바꾸어서 해결했습니다.

    아랫쪽 부분에 관련 내용을 원문과 함께 기록 해 놓았습니다.


    vmware 본사 사이트에 관련 내용 비슷한 부분인가 싶어 찾아보았지만 해결은 안됩니다.

    https://docs.vmware.com/kr/VMware-NSX/4.0/administration/GUID-9CB2FE07-2E48-41E9-9BDA-BBAAA57D18B0.html

    업데이트 날짜:2022년08월15일

    이 참조 설명서를 사용하여 DHCP 서비스를 구성하는 동안 유의해야 하는 다양한 고려 사항을 이해하고 DHCP 구성 설정 페이지에서 구성 설정에 대한 자세한 지침을 얻을 수 있습니다.

    다음 참고에서는 오버레이 또는 VLAN 세그먼트가 연결되는 방식에 따라 지원되거나 지원되지 않는 DHCP 구성 유형을 언급합니다.

    참고:

    • 게이트웨이에 연결되지 않은 격리된 세그먼트에서 세그먼트 DHCP 서버만 지원됩니다.
    • IPv6 서브넷으로 구성된 세그먼트에는 세그먼트 DHCPv6 서버 또는 DHCPv6 릴레이가 있을 수 있습니다. 게이트웨이 DHCPv6 서버는 지원되지 않습니다.
    • 세그먼트에 IPv4 서브넷 및 IPv6 서브넷이 포함된 경우 세그먼트에서 DHCPv4 및 DHCPv6 서버를 모두 구성할 수 있습니다.
    • DHCPv4 릴레이는 Tier-0 또는 Tier-1 게이트웨이의 서비스 인터페이스를 통해 VLAN 세그먼트에서 지원됩니다. VLAN 세그먼트에서 하나의 DHCPv4 릴레이 서비스만 지원됩니다.
    • DHCP 서버가 필요한 VLAN 세그먼트의 경우 세그먼트 DHCP 서버만 지원됩니다. 게이트웨이 DHCP 서버는 VLAN 세그먼트에서 지원되지 않습니다.

    세그먼트 DHCP 서버 또는 DHCP 릴레이가 VLAN 세그먼트에 구성된 경우 Edge VM이 설치된 ESXi 호스트의 위조 전송 옵션을 수락으로 설정해야 합니다. VDS 또는 VSS 구성에서 이 옵션을 설정합니다.

    vSphere 7.0 이상에서 위조 전송 옵션은 기본적으로 거부로 설정됩니다. 호스트에서 이 옵션을 사용하도록 설정하려면 다음 단계를 수행합니다.

    1. 관리자 권한을 사용하여 vSphere Client UI에 로그인합니다.
    2. 호스트 및 클러스터로 이동한 후 클러스터에서 호스트를 클릭합니다.
    3. 구성 > 네트워킹 > 가상 스위치로 이동한 다음, 편집을 클릭합니다.
    4. 설정 편집 창에서 보안을 클릭합니다. 위조 전송 드롭다운 메뉴에서 수락을 선택합니다.

    위조 전송에 대한 자세한 내용은 “vSphere 보안” 설명서를 참조하십시오.

    중요:세그먼트에 DHCP 서비스가 구성된 후에는 세그먼트 연결 변경 시 일부 제한 사항 및 주의 사항이 적용됩니다. 자세한 내용은 시나리오: DHCP에서 세그먼트 연결 변경이 미치는 영향를 참조하십시오.

    다음 섹션에서는 DHCP 구성 설정 페이지의 구성 설정에 대한 지침을 제공합니다.

    DHCP 유형

    • 세그먼트가 게이트웨이에 연결된 경우 세그먼트 DHCP 서버가 기본적으로 선택됩니다. 필요한 경우 드롭다운 메뉴에서 [게이트웨이 DHCP 서버] 또는 [DHCP 릴레이]를 선택할 수 있습니다.
    • DHCP 유형을 [게이트웨이 DHCP 서버]로 선택하면 게이트웨이에 연결된 DHCP 프로파일이 자동으로 선택됩니다. 이름 및 서버 IP 주소를 해당 DHCP 프로파일에서 자동으로 가져온 후 읽기 전용 모드로 표시합니다.
    • 게이트웨이에 연결되지 않은 격리된 세그먼트의 경우 기본적으로 세그먼트 DHCP 서버가 선택됩니다.

    DHCP 프로파일

    • 세그먼트의 세그먼트 DHCP 서버 또는 DHCP 릴레이를 구성하는 경우에는 드롭다운 메뉴에서 DHCP 프로파일을 선택해야 합니다. DHCP 프로파일 드롭다운 메뉴에서 사용할 수 있는 프로파일이 없는 경우 를 클릭하고 DHCP 프로파일을 생성합니다. 프로파일이 생성되면 세그먼트에 자동으로 연결됩니다.
    • 세그먼트가 게이트웨이 DHCP 서버를 사용하는 경우 게이트웨이 또는 DHCP 서버 프로파일 또는 둘 다에서 Edge 클러스터가 선택되어 있는지 확인합니다. 프로파일 또는 게이트웨이에서 Edge 클러스터를 사용할 수 없는 경우 세그먼트를 저장할 때 오류 메시지가 표시됩니다.
    • 세그먼트가 세그먼트 DHCP 서버를 사용하는 경우 DHCP 서버 프로파일에 Edge 클러스터가 포함되어 있는지 확인합니다. 프로파일에서 Edge 클러스터를 사용할 수 없는 경우 세그먼트를 저장할 때 오류 메시지가 표시됩니다.

    IPv4 서버 또는 IPv6 서버 설정

    이 섹션에서는 IPv4 서버 탭 페이지 및 IPv6 서버 탭 페이지의 구성 설정에 대해 설명합니다.DHCP 서버 주소

    • 세그먼트 DHCP 서버를 구성하는 경우에는 서버 IP 주소가 필요합니다. 최대 2개의 서버 IP 주소가 지원됩니다. IPv4 주소 1개와 IPv6 주소 1개. IPv4 주소의 경우 접두사 길이는 30 이하여야 하고 IPv6 주소의 경우 접두사 길이는 126 이하여야 합니다. 서버 IP 주소는 이 세그먼트에서 지정한 서브넷에 속해야 합니다. DHCP 서버 IP 주소는 DHCP 범위 및 DHCP 고정 바인딩에서 IP 주소와 겹치지 않아야 합니다. DHCP 서버 프로파일에는 서버 IP 주소가 포함될 수 있지만 이러한 IP 주소는 세그먼트에서 세그먼트 DHCP 서버를 구성할 때 무시됩니다.
    • 세그먼트 DHCP 서버가 생성된 후 DHCP 구성 설정 페이지에서 서버 IP 주소를 편집할 수 있습니다. 그러나 새 IP 주소는 세그먼트에 구성된 동일한 서브넷에 속해야 합니다.
    • 게이트웨이 DHCP 서버를 구성하는 경우에는 DHCP 서버 주소 텍스트 상자를 편집할 수 없습니다. 서버 IP 주소를 연결된 게이트웨이에 연결된 DHCP 프로파일에서 자동으로 가져옵니다.
    • DHCP 서버 프로파일의 게이트웨이 DHCP 서버 IP 주소는 세그먼트에 구성된 서브넷과 다를 수 있습니다. 이 경우 게이트웨이 DHCP 서버는 게이트웨이 DHCP 서버가 생성될 때 자동으로 생성되는 내부 릴레이 서비스를 통해 세그먼트의 IPv4 서브넷에 연결됩니다. 내부 릴레이 서비스는 게이트웨이 DHCP 서버 IP 주소의 서브넷에 있는 IP 주소 하나를 사용합니다.
    • 내부 릴레이 서비스에서 사용하는 IP 주소는 세그먼트의 IPv4 서브넷과 통신하기 위해 게이트웨이 DHCP 서버의 기본 게이트웨이로 작동합니다.
    • 게이트웨이 DHCP 서버가 생성된 후 게이트웨이의 DHCP 프로파일에서 서버 IP 주소를 편집할 수 있습니다. 그러나 게이트웨이에 연결된 DHCP 프로파일은 변경할 수 없습니다. 네트워크에서 DHCP 서버 프로파일을 사용할 경우 DHCP 서버 프로파일에서 서버 IP 주소를 편집하지 않는 것이 좋습니다. DHCP 클라이언트에 리스된 IP 주소를 갱신하거나 해제하는 동안 오류가 발생할 수 있습니다.

    DHCP 범위

    • IP 범위, CIDR 서브넷 및 IP 주소가 허용됩니다. IPv4 주소는 CIDR /32 형식이어야 하며 IPv6 주소는 CIDR /128 형식이어야 합니다. 범위의 시작 및 끝에 동일한 IP 주소를 입력하여 IP 주소를 범위로 입력할 수도 있습니다. 예: 172.16.10.10-172.16.10.10.
    • DHCP 범위 내의 IP 주소는 세그먼트에 구성된 서브넷에 속해야 합니다. 즉, DHCP 범위는 여러 서브넷의 IP 주소를 포함할 수 없습니다.
    • IP 범위는 DHCP 서버 IP 주소 및 DHCP 고정 바인딩 IP 주소와 겹치지 않아야 합니다.
    • DHCP IP 풀의 IP 범위는 서로 겹치지 않아야 합니다.
    • DHCP 범위의 IP 주소 수는 65,536개를 초과하면 안 됩니다.
    • 다음 유형의 IPv6 주소는 IPv6 범위의 DHCP에서 허용되지 않습니다.
      • 로컬 유니캐스트 주소 링크(FE80::/64)
      • 멀티캐스트 주소(FF00::/8)
      • 지정되지 않은 주소(0:0:0:0:0:0:0:0)
      • 모두 F로 구성된 주소(F:F: F:F: F:F: F:F)

    경고:DHCP 서버가 생성되면 기존 범위를 업데이트하거나, 새 IP 범위를 추가하거나, 기존 범위를 삭제할 수 있습니다. 그러나 기존 IP 범위를 삭제, 축소 또는 확장하지 않는 것이 좋습니다. 예를 들어, 여러 개의 소형 IP 범위를 결합하여 단일 대규모 IP 범위를 생성하지 마십시오. DHCP 서비스가 실행된 후에 기존 범위를 수정하면 DHCP 클라이언트의 네트워크 연결이 끊어질 수 있고 일시적인 트래픽 중단이 발생할 수 있습니다.제외된 범위(DHCPv6에만 해당)

    DHCPv6 클라이언트에 대한 동적 IP 할당에서 제외할 IPv6 주소 또는 IPv6 주소 범위를 입력합니다.

    IPv6 네트워크에서 DHCP 범위는 클 수 있습니다. 경우에 따라 고정 바인딩을 위해 특정 IPv6 주소 또는 큰 DHCP 범위의 여러 작은 IPv6 주소 범위를 예약하려고 할 수 있습니다. 이러한 경우 제외된 범위를 지정할 수 있습니다.리스 시간

    기본값은 86400초입니다. 유효한 값 범위는 60–4294967295입니다.기본 설정 시간(DHCPv6에만 해당)

    기본 설정 시간은 유효한 IP 주소가 기본 설정된 기간입니다. 기본 설정 시간이 만료되면 IP 주소가 더 이상 사용되지 않습니다. 값을 입력하지 않으면 기본 설정 시간은 (리스 시간 * 0.8)로 자동 계산됩니다.

    리스 시간은 기본 설정 시간보다 커야 합니다.

    유효한 값 범위는 60–4294967295입니다. 기본값은 69120초입니다.DNS 서버

    최대 2개의 DNS 서버가 허용됩니다. 지정하지 않으면 DHCP 클라이언트에 DNS가 할당되지 않습니다.도메인 이름(DHCPv6에만 해당)

    하나 이상의 도메인 이름이 지원됩니다.

    DHCPv4 서버 구성은 세그먼트 구성에서 지정한 도메인 이름을 자동으로 가져옵니다.SNTP 서버(DHCPv6에만 해당)

    최대 2개의 SNTP 서버가 허용됩니다.

    DHCPv6 서버는 NTP를 지원하지 않습니다.

    DHCP 옵션(DHCPv4에만 해당)

    IPv6에 대한 DHCP 옵션은 지원되지 않습니다.

    IPv4의 DHCP에서 각 클래스 없는 고정 경로 옵션에는 같은 대상의 여러 경로가 있을 수 있습니다. 각 경로에는 대상 서브넷, 서브넷 마스크, 다음 홉 라우터가 포함됩니다. DHCPv4의 클래스 없는 고정 경로에 대한 자세한 내용은 RFC 3442 규격을 참조하십시오. DHCPv4 서버에 최대 127개의 클래스 없는 고정 경로를 추가할 수 있습니다.

    일반 옵션 121(클래스 없는 고정 경로) 외에도 NSX는 다음 표에 설명된 다른 일반 옵션을 지원합니다. 이 표에 나열되지 않은 일반 옵션도 유효성 검사 없이 허용되지만 적용되지는 않습니다.

    코드이름값 유형예제 값
    2시간 오프셋정수 – UTC에서의 초 오프셋허용되는 값: -43200–43200최대 항목: 128800
    13부팅 파일 크기블록 수. 블록 1개는 512바이트입니다.정수 값: 1–65535최대 항목: 11385
    19전달 설정/해제IP 전달허용되는 값: [0, 1]켜짐의 경우 1, 꺼짐의 경우 0최대 항목: 10
    26MTU 인터페이스지정된 인터페이스의 MTU입니다.허용되는 값: 68-65535최대 항목: 19600
    28브로드캐스트 주소IP 주소최대 항목: 110.10.10.255
    35ARP 시간 초과정수(초)허용되는 값: 0-4294967295360
    40NIS 도메인텍스트최대: 255자vmware.com
    41NIS 서버기본 설정 순서의 IP 주소최대 항목: 6310.10.10.10
    42NTP 서버기본 설정 순서의 IP 주소최대 항목: 6310.10.10.11
    44NETBIOS 이름 서버기본 설정 순서의 IP 주소최대 항목: 6310.10.10.12
    45NETBIOS Dist Server기본 설정 순서의 IP 주소최대 항목: 6310.10.10.13
    46NETBIOS 노드 유형노드 유형의 정수 인코딩허용되는 값: [1, 2, 4, 6]최대 항목: 41 = B-노드 – 브로드캐스트, WINS 없음2 = P-노드 – WINS만4 = M-노드 – 브로드캐스트 후 WINS8 = H-노드 – WINS 후 브로드캐스트2
    47NETBIOS 범위RFC 1001/1002에 따라 인코딩된 문자열최대: 255자
    58갱신 시간해당 없음 – 0~4294967295 사이의 리스 시간 기준최대 항목: 1300
    59재바인딩 시간해당 없음 – 0~4294967295 사이의 리스 시간 기준최대 항목: 1300
    64NIS+ 도메인 이름텍스트(도메인 이름)vmware.com
    65NIS+ 서버 주소기본 설정 순서의 IP 주소10.10.10.10
    66서버 이름텍스트(서버 도메인 이름)최대: 255자10.10.10.253
    67부팅 파일 이름텍스트(파일 이름)최대: 255자/tftpboot/pxelinux/pxelinux.bin
    117이름 서비스 검색API에서 기본적으로 지원되지 않음허용되는 값: [0, 6, 41, 44, 65]최대 항목: 56
    119도메인 검색하나 이상의 도메인 이름. 각 도메인 이름은 따옴표로 묶어야 하며 쉼표로 구분해야 합니다.vmware.com
    150TFTP 서버 주소IP 주소10.10.10.10
    209PXE 구성 파일최대: 255자configs/common
    210PXE 경로 접두사최대: 255자/tftpboot/pxelinux/files/
    211PXE 재부팅 시간허용되는 값: 0-42949672951800

    DHCP 고정 바인딩

    일반적인 네트워크 환경에는 FTP, 이메일 서버, 애플리케이션 서버 등과 같은 서비스를 실행하는 VM이 있습니다. 이러한 VM의 IP 주소가 네트워크에서 변경되는 것을 원하지 않을 수 있습니다. 이 경우 고정 IP 주소를 각 VM(DHCP 클라이언트)의 MAC 주소에 바인딩할 수 있습니다. 고정 IP 주소는 세그먼트에 구성된 서브넷(있는 경우)에 속해야 하며 DHCP IP 범위 및 DHCP 서버 IP 주소와 겹치지 않아야 합니다.

    세그먼트에서 세그먼트 DHCP 서버 또는 게이트웨이 DHCP 서버를 구성하는 경우 DHCP 고정 바인딩이 지원됩니다. 세그먼트가 DHCP 릴레이를 사용하는 경우 고정 바인딩을 구성할 수 없습니다.

    IPv4용 DHCP 서버에서는 세그먼트가 세그먼트 DHCP 또는 게이트웨이 DHCP 구성을 사용하는지 여부에 관계없이 고정 바인딩이 지원됩니다. IPv6용 DHCP 서버에서 고정 바인딩은 세그먼트가 세그먼트 DHCP 구성을 사용하는 경우에만 지원됩니다.DHCPv4 및 DHCPv6 서버에 공통되는 고정 바인딩 옵션

    다음 표에서는 IPv4 서버용 DHCP와 IPv6 서버용 DHCP에 공통되는 고정 바인딩 옵션에 대해 설명합니다.

    옵션설명
    이름각 고정 바인딩을 식별하는 고유한 표시 이름을 입력합니다. 이름은 255자로 제한되어야 합니다.
    MAC 주소필수. 고정 IP 주소를 바인딩할 DHCP 클라이언트의 MAC 주소를 입력합니다.다음 유효성 검사는 고정 바인딩의 MAC 주소에 적용됩니다.MAC 주소는 세그먼트 DHCP 서버를 사용하는 세그먼트의 모든 고정 바인딩에서 고유해야 합니다.MAC 주소는 게이트웨이에 연결되고 게이트웨이 DHCP 서버를 사용하는 모든 세그먼트의 모든 고정 바인딩에서 고유해야 합니다.예를 들어 10개의 세그먼트가 Tier-1 게이트웨이에 연결되어 있다고 가정해 보겠습니다. 게이트웨이 DHCP 서버를 4개의 세그먼트(Segment1 ~ Segment4)와 남은 6개 세그먼트(Segment5 ~ Segment10)에 대한 세그먼트 DHCP 서버를 사용합니다. 게이트웨이 DHCP 서버를 사용하는 4개의 모든 세그먼트(Segment1 ~ Segment4)에 걸쳐 총 20개의 고정 바인딩이 있다고 가정합니다. 또한 세그먼트 DHCP 서버를 사용하는 다른 6개 세그먼트(Segment5 ~ Segment10) 각각에 5개의 고정 바인딩이 있습니다. 이 예의 경우:각 20개의 고정 바인딩에 있는 MAC 주소는 게이트웨이 DHCP 서버를 사용하는 모든 세그먼트(Segment1 ~ Segment4)에서 고유해야 합니다.5개의 고정 바인딩에 있는 MAC 주소는 세그먼트 DHCP 서버를 사용하는 각 세그먼트(Segment5 ~ Segment10)에서 고유해야 합니다.
    IP 주소IPv4 고정 바인딩에 필요합니다. 클라이언트의 MAC 주소에 바인딩할 단일 IPv4 주소를 입력합니다.IPv6 고정 바인딩에 대해 선택 사항입니다. 클라이언트의 MAC 주소에 바인딩할 단일 글로벌 유니캐스트 IPv6 주소를 입력합니다.고정 바인딩에 대해 IPv6 주소를 지정하지 않으면 SLAAC(상태 비저장 주소 자동 구성)가 IPv6 주소를 DHCPv6 클라이언트에 자동으로 할당하는 데 사용됩니다. 또한 상태 비저장 DHCP를 사용하여 DNS, 도메인 이름 등의 다른 DHCP 구성 옵션을 DHCPv6 클라이언트에 할당할 수 있습니다.IPv6용 상태 비저장 DHCP에 대한 자세한 내용은 RFC 3376 규격을 참조하십시오.다음 유형의 IPv6 주소는 IPv6 고정 바인딩에서 허용되지 않습니다.로컬 유니캐스트 주소 링크(FE80::/64)멀티캐스트 IPv6 주소(FF00::/8)지정되지 않은 주소(0:0:0:0:0:0:0:0)모두 F로 구성된 주소(F:F: F:F: F:F: F:F)고정 IP 주소는 세그먼트에 구성된 서브넷(있는 경우)에 속해야 하며 세그먼트에서 구성한 DHCP 범위 밖에 있어야 합니다.
    리스 시간선택 사항입니다. IP 주소가 DHCP 클라이언트에 바인딩된 시간(초)을 입력합니다. 리스 시간이 만료되면 IP 주소가 올바르지 않게 되고 DHCP 서버가 해당 주소를 세그먼트의 다른 DHCP 클라이언트에 할당할 수 있습니다.유효한 값 범위는 60–4294967295입니다. 기본값은 86400입니다.
    설명선택 사항입니다. 고정 바인딩에 대한 설명을 입력합니다.
    태그선택 사항입니다. 바인딩 고정 바인딩에 레이블을 추가하여 바인딩을 빠르게 검색 또는 필터링하고, 바인딩 관련 문제를 해결하거나, 추적하거나, 다른 작업을 수행할 수 있습니다.태그를 추가하는 방법에 대한 자세한 내용과 개체에 태그를 지정하기 위한 사용 사례는 태그를 참조하십시오.

    고정 바인딩 옵션(DHCPv4 서버에만 해당)

    다음 표에서는 IPv4 서버용 DHCP에서만 사용할 수 있는 고정 바인딩 옵션에 대해 설명합니다.

    IPv4용 DHCP 옵션설명
    게이트웨이 주소IPv4 서버용 DHCP가 DHCP 클라이언트에 제공해야 하는 기본 게이트웨이 IP 주소를 입력합니다.
    호스트 이름DHCPv4 서버가 항상 동일한 IPv4 주소를 사용하여 클라이언트(호스트)를 바인딩할 수 있도록 IPv4 클라이언트에 대한 DHCP의 호스트 이름을 입력합니다.호스트 이름은 63자로 제한되어야 합니다.고정 바인딩의 호스트 이름에 다음 유효성 검사가 적용됩니다.호스트 이름은 세그먼트 DHCP 서버를 사용하는 세그먼트의 모든 고정 바인딩에서 고유해야 합니다.호스트 이름은 게이트웨이에 연결되고 게이트웨이 DHCP 서버를 사용하는 모든 세그먼트의 모든 고정 바인딩에서 고유해야 합니다.예를 들어 10개의 세그먼트가 Tier-1 게이트웨이에 연결되어 있다고 가정해 보겠습니다. 게이트웨이 DHCP 서버를 4개의 세그먼트(Segment1 ~ Segment4)와 남은 6개 세그먼트(Segment5 ~ Segment10)에 대한 세그먼트 DHCP 서버를 사용합니다. 게이트웨이 DHCP 서버를 사용하는 4개의 모든 세그먼트(Segment1 ~ Segment4)에 걸쳐 총 20개의 고정 바인딩이 있다고 가정합니다. 또한 세그먼트 DHCP 서버를 사용하는 다른 6개 세그먼트(Segment5 ~ Segment10) 각각에 5개의 고정 바인딩이 있습니다. 이 예의 경우:각 20개의 고정 바인딩에 있는 호스트 이름은 게이트웨이 DHCP 서버를 사용하는 모든 세그먼트(Segment1 ~ Segment4)에서 고유해야 합니다.5개의 고정 바인딩에 있는 호스트 이름은 세그먼트 DHCP 서버를 사용하는 각 세그먼트(Segment5 ~ Segment10)에서 고유해야 합니다.
    DHCP 옵션선택 사항입니다. IPv4 클래스 없는 고정 경로 및 기타 일반 옵션에 대한 DHCP를 구성하려면 설정을 클릭합니다.

    DHCPv4 고정 바인딩에 대한 몇 가지 추가 참고 사항:

    • IPv4 고정 바인딩은 세그먼트에 구성된 도메인 이름을 자동으로 상속합니다.
    • 고정 바인딩 구성에서 DNS 서버를 지정하려면 일반 옵션(코드 6 – DNS 서버)을 추가합니다.
    • DHCPv4 클라이언트의 시스템 시간을 DHCPv4 서버와 동기화하려면 NTP를 사용합니다. IPv4 서버용 DHCP는 SNTP를 지원하지 않습니다.
    • 고정 바인딩에서 DHCP 옵션을 지정하지 않으면 세그먼트의 DHCPv4 서버에 있는 DHCP 옵션이 고정 바인딩에서 자동으로 상속됩니다. 그러나 고정 바인딩에서 하나 이상의 DHCP 옵션을 명시적으로 추가한 경우 이러한 DHCP 옵션은 세그먼트의 DHCPv4 서버에서 자동으로 상속되지 않습니다.

    고정 바인딩 옵션(DHCPv6 서버에만 해당)

    다음 표에서는 IPv6 서버용 DHCP에서만 사용할 수 있는 고정 바인딩 옵션에 대해 설명합니다.

    IPv6용 DHCP 옵션설명
    DNS 서버선택 사항입니다. 이름 확인에 사용할 최대 2개의 도메인 이름 서버를 입력합니다.지정하지 않으면 DHCP 클라이언트에 DNS가 할당되지 않습니다.
    SNTP 서버선택 사항입니다. SNTP(Simple Network Time Protocol) 서버를 최대 2개 입력하십시오. 클라이언트는 이러한 SNTP 서버를 사용하여 시스템 시간을 표준 시간 서버의 시스템 시간과 동기화합니다.
    기본 설정 시간선택 사항입니다. 유효한 IP 주소가 기본 설정된 기간을 입력합니다. 기본 설정 시간이 만료되면 IP 주소가 더 이상 사용되지 않습니다. 값을 입력하지 않으면 기본 설정 시간은 (리스 시간 * 0.8)로 자동 계산됩니다.리스 시간은 기본 설정 시간보다 커야 합니다.유효한 값 범위는 60–4294967295입니다. 기본값은 69120입니다.
    도메인 이름선택 사항입니다. DHCPv6 클라이언트에 제공할 도메인 이름을 입력합니다. IPv6 고정 바인딩에서는 여러 도메인 이름이 지원됩니다.지정하지 않으면 DHCP 클라이언트에 도메인 이름이 할당되지 않습니다.

    DHCPv6 고정 바인딩에 대한 몇 가지 추가 참고 사항:

    • IPv6 고정 바인딩에서 게이트웨이 IP 주소 구성을 사용할 수 없습니다. IPv6 클라이언트는 ICMPv6 RA(라우터 보급) 메시지에서 첫 번째 홉 라우터를 알아냅니다.
    • DHCPv6 고정 바인딩에서는 NTP가 지원되지 않습니다.

    게이트웨이도 다 잡히고 라우터 정보까지 나온다는것은 ISP 업체에서 그대로 받아오고 있다는 정보죠.

    음..윈도우에서 인터넷이 되는것을 확인하였습니다.

    VMWARE에서 매뉴얼에 적힌 내용을 보고 보안 항목의 3가지를 모두 허용하였습니다.

    정확히 제가 안되었던 원인은 [ 비규칙 모드 ] [ MAC 주소 변경 ] 이렇게 각각 허용으로 변경하여 해결하였습니다.

    하나씩 해도 안되시면 그냥 원할한 통신망을 위해 3가지 모두 허용 하면됩니다.

    비규칙 모드 허용 – 예
    위조 전송 허용 – 예
    MAC 변경 허용 – 예

    ISP 아이피 2개가 할당 받았네요.

    아마도 이 정보는 ESXi 서버 운영하면서 DHCP 안되시는 분들에게 상당히 도움이 될 듯 하네요.

    보안 정책을 허용하여 해결 하였습니다.

    끝! 해결 완료

  • vCenter 7.0 DNS 없이 설치 하실분들 신청하세요

    vCenter 7.0 DNS 없이 설치 하실분들 신청하세요

    이번에 vCenter 7.0 버전으로 서버를 설치를 해야할꺼같아 vmware workstation 한대에 설치를 해보았습니다.

    우선 vCenter Server 가 뭐냐하면…. 저보다 더 잘 아시겠지만..

    ESXi 한두개 운영 할 때에는 크게 필요없지만…

    100개 이상 1,000개 이상 단위로 운영 할 때에는 위의 이미지를 보시는것처럼 관리에 최적화 된 서비스입니다.

    막상 vmware 사에 적힌 내용만 볼 때에는 단순 ESXi 만 100개 이용해도 될듯합니다.

    만개정도되면 분위기가 달라지겠죠. ㅎㅎ

    vmware 에서 제공하는 [ VMware-VCSA-all-7.0.3-19717403.iso ] 파일을 열어보면 OFV 파일이 있습니다.

    VMware-vCenter-Server-Appliance-7.0.3.00600-19717403_OVF10

    이 파일을 ESXi 호스트에 등록하여도 되며 vmware workstation 버전에 등록하여도 됩니다.

    제 경우에는 워크스테이션에 등록하였습니다.

    처음에 ESXi 에 등록도 몇번 해보았는데 IP세팅이라던지 DNS 없이 등록 시도를 해서 그런지 업로드가 안되더군요.

    vCenter 7.0 Server 설치

    1. OVF 파일을 등록합니다.

    VMware-vCenter-Server-Appliance-7.0.3.00600-19717403_OVF10 파일을 ISO 파일에서 추출하여 ESXi 혹은 VMWARE workstation 에 등록합니다.

    일단계를 진행하게되면 단순히 OVF 파일 클릭만 하고 NEXT -> NEXT -> 이름적고 -> 동의 두번 하면 설치됩니다.

    설치 폴더 지정과 생성 이름을 만들어줍니다.

    Tiny vCenter Server with Embedded PSC

    Small vCenter Server with Embedded PSC

    Medium vCenter Server with Embedded PSC

    Large vCenter Server with Embedded PSC

    X-Large vCenter Server with Embedded PSC

    이렇게 vCPU 별로 규모가 다르게 나타납니다.

    스토리지도 (기본, 라지, X라지) 이렇게 3가지 항목이 있어 총 15가지 중 하나를 선택하면됩니다.

    호스트 100개 그리고 1,000VMs 구성에 적합한 [ Small vCenter Server with Embedded PSC ] 항목으로 진행합니다.

    최소 vCPU는 4개 (쿼드 cpu)이상이며 메모리는 16GB 이상이라고 나오지만 실제로 19GB로 세팅됩니다.

    네트워크 환경 부터 DNS 서버 정보까지 입력해야합니다.

    Domain 을 세팅했다면 정방향/ 역방향 모두 연결되도록 설정 해야합니다.

    다 설치가 되어 ESXi 메인 화면처럼 이렇게 나타납니다.

    2. vCenter 접속하여 2단계 설치를 진행합니다.

    vCenter할당받은 IP로 접속을 하면 세팅이 안되어서 그런지 접속이 안되더군요.

    그래서 아래처럼 :5480 포트로 접속하면 다시 설치랑 업그레이드 등등 화면이 나타납니다.

    https://vCenter 할당받은 IP:5480/configurev2/#/

    설치 항목을 누르고 vCenter 관리자 암호를 입력하면 2단계 항목을 진행 할 수 있습니다.

    다음 항목을 누르면

    ESXi 서버 위에 설치가 되다보니 시간 동기화모드에 ESXi 호스트 시간 동기화 항목도 보이는군요.

    아래처럼 설정하였습니다.

    3. SSO 구성 항목을 입력합니다.

    도메인을 등록합니다.

    보통은 여기에서 사설 도메인을 만드는 경우가 많은데.. 저는 그냥 외부에서 공식 접근 할 수 있도록 도메인을 사용했습니다.

    도메인과 관리자 암호를 적고 다음 버튼을 눌러줍니다.

    만약 이때 도메인이 등록되지 않거나 DNS 등록이 안된 상태라면 아래처럼 에러 메시지와 함께 진행이 되지 않죠.

    Failed to retrieve SSO domain from host '****.myDomain.com': [Error 10002] Server Unreachable
    
    

    말 그대로 도메인으로 서버에 도착할 수 없다는 이야기입니다.

    DNS 에 도메인이 제대로 동작하지 않거나 도메인으로 IP를 찾을 수 없으니 vCenter DNS를 지정해줍니다.

    아래는 KT DNS 주소가 적혀있습니다.

    168.126.63.1

    168.126.63.2

    이 두개의 항목을 자신의 DNS 주소로 변경합니다.

    이때 운영하는 DNS 주소가 없다면 아래 vCenter DNS 무료 서비스를 이용하면 됩니다.

    CEIP 구성 참여 체크 (선택사항) 하고 다음 항목을 클릭하면 최종 화면이 나타납니다.

    확인 버튼을 누르면 2단계 진행이 시작됩니다.

    만약 [ 설치 – 2단계: vCenter Server 설정 진행 중 ] 22% 항목에서 [ Starting VMware Security Token Service… ] 메시지 와 함께 진행이 되지 않는다면 DNS 서버에 도메인에 대해서 역방향 IP 값이 지정되지 않았기때문입니다.

    IP를 입력했을때 FQDN (도메인) 연결이 되도록 PTR 한줄을 넣으면 됩니다.

    당연히 역방향 rev.zone 파일을 만들어야합니다.

    @                       IN      PTR     도메인주소.

    confirm that forward and reverse name resolution works for the vCenter Server’s FQDN, and IP address

    CMD에서 nslookup 도메인 입력했을때 나오는 IP 주소가 nslookup IP 주소를 넣었을때도 동일하게 나와야합니다.

    정방향으로 도메인이 잡혀있지만 역방향으로 도메인을 찾을 수 없기때문에 이 항목에서 멈추게 됩니다.

    22% 보안 단계를 넘어가신 분들은…

    퍼센테이지가 야금야금 올라가는 것을 볼 수 있습니다. (시간이 조금 많이 소요되긴 합니다)

    설치 – 2단계: vCenter Server 설정 진행 중 61% 에서 멈춘듯 가만히 서 있더군요. (10분정도? 그정도….)

    그리고는 알아서 진행되면서 넘어갔습니다.

    처음에 멈춘건가 싶어서 …

    혹시 로그아웃 된거 아닌가 같어서 로그인 해줄려고 다른 창으로 접속하니 아래처럼 뜨더군요.

    그리고 메인 창은 아래처럼 뜨면서 멈췄습니다.

    오류
    Failed to configure Workload Control Plane
    해결 방법
    This is an unrecoverable error, please retry install. If you encounter this error again, please search for these symptoms in the VMware Knowledge Base for any known issues and possible resolutions. If none can be found, collect a support bundle and open a support request.

    설정하는 중에 문제가 발생했습니다. 서비스가 예상대로 작동하지 않을 수 있습니다.

    괜히 건드려서 시간만 더 낭비했습니다.

    61%에서 계속 멈춘거 같아서 한 5~7번 정도 더 설치한듯합니다.

    모든 세팅은 똑같이 했는데 이번에는 성공해서 넘어갔습니다.

    세팅할때 접속 아이디 만든 SSO 계정앞에 administrator@SSO계정 이렇게 적고 암호 적어서 로그인합니다.

    테마가 2가지 있네요.

    낮버전, 밤버전

    도메인 설정, 네트워크 설정, 접속 아이디 설정까지 완료하였습니다.

    이제 80포트로 접속해보겠습니다.

    HTML 5 클라이언트로 접속합니다.

  • certbot 자동갱신 Let’s Encrypt SSL 인증서 업데이트

    certbot 자동갱신 Let’s Encrypt SSL 인증서 업데이트

    지난번 certbot 자동갱신을 crontab -e 항목에 입력하였습니다.

    3개월이 지난 시점 몇몇 서버에서 자동갱신이 되지 않아 https 보안 오류가 발생하여 사이트에 접속되지 않았습니다.

    이를 해결하기 위해서 기존의 세팅된 서버에 아래 내용을 추가해야합니다.

    ※ crontab 항목은 각자 맞게끔 수정 해주시기 바랍니다.

    rm -rf /root/_TION/tionServerLetsencryptRenewal
    rm -rf /tionServerLetsencryptRenewal.sh
    
    rm -rf /etc/letsencrypt/renewal-hooks/deploy/httpd_start.sh 
    rm -rf /etc/letsencrypt/renewal-hooks/pre/httpd_stop.sh 
    rm -rf /etc/letsencrypt/renewal-hooks/post/httpd_start.sh 
    
    mkdir /root/_TION/tionServerLetsencryptRenewal
    cd /root/_TION/tionServerLetsencryptRenewal
    
    echo "systemctl stop httpd.service" > tionServerLetsencryptRenewal.sh
    echo "certbot renew --no-self-upgrade" >> tionServerLetsencryptRenewal.sh
    echo "systemctl start httpd.service" >> tionServerLetsencryptRenewal.sh
    
    chmod 701 /root/_TION/tionServerLetsencryptRenewal/tionServerLetsencryptRenewal.sh
    
    cp -ai /root/_TION/tionServerLetsencryptRenewal/tionServerLetsencryptRenewal.sh /tionServerLetsencryptRenewal.sh
    
    ll
    
    /tionServerLetsencryptRenewal.sh
    
    echo -e "00 00 * * * ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime\n12 12 */12 * * /tionServerLetsencryptRenewal.sh\n*/1 * * * * /tionServerMonitoring.sh\n12 5 * * * /tionServerBackup.sh\n0 23 * * * root journalctl --vacuum-size=1024" | crontab
    
    crontab -e
    
    

    위의 항목을 그대로 복사 붙여넣기 하면 (빨강색 제외 : crontab 항목은 각자 맞게끔 수정해야합니다.)

    지난번 포스팅에서 매일 1시 12시 12분마다 체크해서 https 보안서버 만료될 경우 자동 갱신되도록 했습니다.

    하지만 renewal 폴더에 등록한 스크립트로 인해서 80포트가 멈추지 않고 그대로 연결되버려 리뉴얼되지 않더군요.

    그래서 위의 빨강색 코드는 crontab 전체를 삭제하고 새로 제서버에 맞게끔 등록하는겁니다.

    제 서버는 전체를 다 삭제하고 일괄 동일하게 구성하면 되지만 여러분들의 서버에는 crontab -e 항목이 저와 다르기 때문에 빨강색 만큼은 따로 수정을 해야합니다.

    기존에 포스팅을 따라하신분들만 crontab -e 부분을 아래 항목대로 변경하세요.

    crontab -e
    12 1,12 * * * root certbot renew --no-self-upgrade
    
    이 항목을 아래처럼 수정합니다.
    12 12 */12 * * /tionServerLetsencryptRenewal.sh

    이제부터 매월 12일과 24일에 12시 12분 마다 리뉴얼을 시도합니다.

    이때 기존과 다른점은 아파치 서버를 강제로 종료한다는 점이 다릅니다.

    한달에 서버 2회 강제로 재실행 한다고 생각하면 됩니다.

    이때 재갱신되는 도메인이 존재한다면 재실행 시간이 조금 더 길어지겠죠.

    그럼 잘 활용하세요.

  • cmd 배치파일 프로그램 실행 후 자동 종료

    cmd 배치파일 프로그램 실행 후 자동 종료

    cmd 배치파일 이용해서 프로그램을 실행하면 프로그램이 종료될때까지 cmd 창이 그대로 떠 있습니다.

    이를 그대로 놓고 사용해도 되지만 프로그램 화면 위에 cmd 창이 떠 있어서 불편할때가 있죠.

    그때 cmd 명령어를 call 대신에 start 를 이용하여 해결 할 수 있습니다.

    start "" "실행파일명.exe"

    call 명령어로도 해결되지 않고 단순 start 명령어러도 해결이 되지 않습니다.

    start 뒤에 꼭 따옴표 2개 작성해주시고 그다음에 실행 파일명 적으면 됩니다.

    재부팅 후에 자동으로 프로그램이 실행되며 cmd 창은 프로그램 실행과 동시에 자동 종료됩니다.

    해결 완료!!

  • 윈도우 시작시 프로그램 자동실행 c# 제작 소스코드

    윈도우 시작시 프로그램 자동실행 c# 제작 소스코드

    윈도우 시작시 프로그램 자동실행 소스코드

    보통 체크박스를 이용하여 윈도우 시작시 프로그램이 자동으로 실행하게 할껀지 아닐지 여부를 선택합니다.

    이렇게 체크박스를 만들어서 체크를 할 경우 윈도우시작할때 바로 프로그램이 실행되도록 할 수 있습니다.

    윈도우 시작시 프로그램 자동실행 소스코드

    // init()
    
                try
                {
                    if (ReadValue("info", "checkBox_윈도우자동시작") != null)
                    {
                        string text = ReadValue("info", "checkBox_윈도우자동시작");
    
                        if (text == "true")
                        {
                            checkBox_윈도우자동시작.Checked = true;
    
                        }
                        else
                        {
                            checkBox_윈도우자동시작.Checked = false;
                        }
    
                    }
    
                }
                catch { }
    
    
    // checkbox click
    
            RegistryKey runRegKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
    
            private void checkBox_윈도우자동시작_CheckedChanged(object sender, EventArgs e)
            {
                string 프로그램명 = string.Format("{0}", System.IO.Path.GetFileName(Application.ExecutablePath));
                if (checkBox_윈도우자동시작.Checked)
                {
                    runRegKey.SetValue(프로그램명,string.Format("{0}{1}", System.AppDomain.CurrentDomain.BaseDirectory, System.IO.Path.GetFileName(Application.ExecutablePath)
    ));
                    WriteValue("info", "checkBox_윈도우자동시작", "true");
                }
                else
                {
                    runRegKey.DeleteValue(프로그램명, false);
                    WriteValue("info", "checkBox_윈도우자동시작", "false");
                }
            }

    사실 위의 소스코드에서 가장 중요한 부분은 바로 RegistryKey 항목입니다.

    RegistryKey runRegKey = Registry.CurrentUser.OpenSubKey(“SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run”, true);

    레지스트리키에다가 현재 프로그램을 등록하는것이죠.

    윈도우 7, 8, 10, 11 시작프로그램 항목에 넣어서 할수도 있지만 조금 다른 부분은 바로가기 형식의 파일 링크를 걸어두는게 아닌 레지스트리키에 프로그램 경로를 String(문자열) 형태로 입력하는 방식입니다.

    이제 언제든지 컴퓨터를 켤때마다 자동으로 프로그램이 실행됩니다.

  • ESXi 서버구축 (대량설치 100대)

    ESXi 서버구축 (대량설치 100대)

    100대의 ESXi 서버를 대량으로 구축 할 때 필히 알아야 하는 사항

    1. Shift + O -> autoPartitionOSDataSize=8192

    USB 꽂아서 부팅시 작업

    2. root 아이디 제거 및 접속 아이디 생성, 관리자 권한

    3. 시간 동기화 -> NTP 설정 편집 time.bora.net -> NTP 서버 실행

    4. DCUI (콘솔모드) -> Enable SSH -> serverChecker 등록 (크론잡)

    5. SSL 인증서 등록

    이때 TCP/IP 작업해야함.

    6. SSH 접속 차단 및 보안 유지 – 방화벽 강화

    매크로를 이용한 접속 허용 IP 자동화 기술 추가

    7. 기타 편의사항 변경

    자동로그아웃 해제

    관리 > 시스템 > 고급 설정 > 검색 [ UserVars.HostClientSessionTimeout ] 값을 0 으로 변경

    고급 설정 항목을 수정해도 되지만 그냥 쉽게 도움말 왼쪽 설정을 변경하여도 됩니다.

    ESXi 용량추가 (익스텐트 확장)

    SSD 가격이 점점 저렴해지므로 SSD 500GB 이상 추가 확장

    이렇게 100개의 ESXi 마다 Email 시리얼키 발급

    끝!

    목표

    2023년 진행형

    ESXi 서버 100대 – 아파트 10채

    웹서버 1,000개 구동 – 유동 IP 갯수 1,100개 ( ISP 회선 22회선)

    네임서버 4대 운영 (AWS EC2 아시아 2대, USA 1대, 유럽 1대)

    워드프레스 50,000개 실행

    일 트래픽 10,000,000회

    전세계 웹사이트 점령 – 워드프레스 블로그, 포럼 사이트, 교육 시스템, 기업 시스템구축

  • c# 외부 ip 가져오기 로컬 ipv4 아이피 함수 Function

    c# 외부 ip 가져오기 로컬 ipv4 아이피 함수 Function

    C 프로그래밍 언어와 C++, C# 등 로컬 영역에서 동작하는 프로그램으로는 자신의 외부 아이피를 확인 할 수 없습니다. 특히 공유기를 이용하고 있고 사설 아이피로 IP를 할당 받았다면 더더욱 알수 없죠.

    기껏 알수 있는 아이피는 192.168.0.1 수준의 사설 아이피뿐입니다.

    C# 외부 로컬 ipv4 아이피를 알기 위해서는 아래 함수를 이용하면 바로 확인 할 수 있습니다.

    인터넷이 꼭 연결되어져 있어야 합니다.

    public static IPAddress GetExternalIp()
    {
    	string ip = string.Empty;
    
    	try
    	{
    		string sourceURL = string.Empty;
    		sourceURL = string.Format("https://api.tion.kr");
    
    		WebClient client = new WebClient();
    		client.Encoding = Encoding.UTF8;
    
    		string data = client.DownloadString(string.Format("https://api.tion.kr"));
    
    
    		string pattern = "(<myip>)(?<ip>[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}?)(</myip>)";
    		MatchCollection matches = Regex.Matches(data, pattern);
    
    		foreach (Match match in matches)
    		{
    			if (match.Groups["ip"].Length > 0)
    			{
    				//IP 정상적으로 나오는지 확인하는부분
    				//MessageBox.Show(match.Groups["ip"].Value);
    				ip = match.Groups["ip"].Value;
    			}
    		}
    	}
    	catch (Exception)
    	{
    
    	}
    
    	IPAddress externalIp = IPAddress.Parse(ip); 
    
    	return externalIp;
    
    }

    위의 함수 소스코드는 https://api.tion.kr 사이트에서 제공하고있습니다.

    위의 사이트도 제가 직접 만든 사이트입니다.

    실제로 C#에서 아이피를 가져와야할 일이 많다보니 2013년부터 만들어서 앞으로 계속 사용하기 위해서 만든거라 개발하실때 만드시더라도 특별한 일 없는이상 위의 도메인을 유지할겁니다.

    2017년도에 기간연장 10년치 최고 결재라서 10년치 결재했는데 벌써 4년 남았네요.

    2년정도 남았을때 다시 10년 기간 연장 해놓겠습니다.

    직접 C# 프로그램으로 제작해보았습니다.

    아래는 제가 C#으로 직접 만든 프로그램 입니다.

    c# 외부 ip 가져오기 소스코드

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Text.RegularExpressions;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace ESXi_IP_Monitoring
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                label_ip.Text = String.Format("{0}", GetExternalIp());
            }
    
            public static IPAddress GetExternalIp()
            {
                string ip = string.Empty;
    
                try
                {
                    string sourceURL = string.Empty;
                    sourceURL = string.Format("https://api.tion.kr");
    
                    WebClient client = new WebClient();
                    client.Encoding = Encoding.UTF8;
    
                    string data = client.DownloadString(string.Format("https://api.tion.kr"));
    
    
                    string pattern = "(<myip>)(?<ip>[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}?)(</myip>)";
                    MatchCollection matches = Regex.Matches(data, pattern);
    
                    foreach (Match match in matches)
                    {
                        if (match.Groups["ip"].Length > 0)
                        {
                            //IP 정상적으로 나오는지 확인하는 부분
                            //MessageBox.Show(match.Groups["ip"].Value);
                            ip = match.Groups["ip"].Value;
                        }
                    }
                }
                catch (Exception)
                {
    
                }
    
                IPAddress externalIp = IPAddress.Parse(ip);
    
                return externalIp;
    
            }
        }
    }
    

    외부 IP를 잘 가져오는군요.

    저는 이렇게 외부 IP를 자동으로 가져와서 ESXi 방화벽에 자동추가하는 시스템을 만들고 있습니다.

    외부 어느지역에서도 ESXi 서버에 자유롭게 자동으로 접속하기 위한 시스템이죠.

    방화벽으로 특정 IP만 접속 할 수 있도록 만들고 위의 프로그램으로 1분동안 접속 가능하도록 만들고 있습니다.

    노트북을 끄는 순간 1분후에 자동으로 제가 사용하던 IP도 차단이 되는 시스템이죠.

    보안으로 인해서 작년 말부터 고생을 하고 있어 이부분을 확실히 하고 있습니다.

    보안이 필요하신 분들 계시면 말씀주세요.

  • 윈도우 wget 대체 방법 vmware esxi 파일 공유 소스코드

    윈도우 wget 대체 방법 vmware esxi 파일 공유 소스코드

    윈도우 10, 11에서 VMWARE 강제 재부팅 문제 발생

    vmware 사용할때에는 자체 file share 기능을 이용하여 host 폴더를 지정하여 guest vm에서 같은 폴더를 지정하여 사용하였습니다. 그런데 host pc에서 최근들어 강제로 업데이트 되면서 vmware workstation 버전 상관없이 강제 재부팅이 자주 일어나고 있습니다.

    이를 해결하기 위해서 xenserver, vmware esxi, 기타 등등 linux 기반에서 vm을 관리하는 방법이 윈도우 10 강제 재부팅을 막을 수 있는 유일한 방법이더군요.

    게중에는 윈도우10, 11 업데이트를 막으면 된다는 글들이 많지만 실제로 수도 없이 해보았고 업데이트 안될시 불이익 등등 다 따져보았을때 운영체제를 바꾸는것이 정답이더군요.

    결국 ESXi 서버를 도입하게 되었습니다.

    그런데 이때 문제가 발생하더군요.

    기존에 vmware workstation 에서는 위에서 이미 말씀드린바 공유폴더를 지정할수 있었습니다.

    ESXi 와 Xenserver 와 같은 시스템에서는 그러한 부분들이 잘 되어 있지 않아 (제가 모를수도 있고요) 직접 guest vm마다 공유폴더를 만들어서 사용하려합니다.

    이렇다보니 윈도우7, 윈도우10 guest vm에서 파일을 강제로 다운받아야 하는데 리눅스처럼 wget 기능이 없어 윈도우 wget 대체 프로그램을 찾다가 파워쉘이 유일한 방법이더군요.

    그래서 제가 직접 만들게 된겁니다.

    wget.exe 파일 다운로드

    아래 파워쉘 방법은 그냥 참고 하시고요.

    매번 배치파일 만들어서 매번 저 명령어를 외울수도 없고…

    powershell "(New-Object System.Net.WebClient).DownloadFile('https://vlog.tion.co.kr/app/wget.exe','C:\Windows\System32\wget.exe')"
    
    powershell "(New-Object System.Net.WebClient).DownloadFile('https://URI','Filename.zip')"

    윈도우 wget 대체 소스코드 공유

    C#으로 만들었으며 소스코드는 그대로 올려놓을테니 저처럼 직접 필요한분들은 C#으로만들어 쓰세요.

    wget.exe 파일 다운로드

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Threading.Tasks;
    using static System.Net.Mime.MediaTypeNames;
    
    namespace wget
    {
        internal class Program
        {
            static void help()
            {
                Console.WriteLine("wget version: 1.0");
                Console.WriteLine("wget: missing URL");
                Console.WriteLine("Usage: wget https://vlog.tion.co.kr/app/wget.exe");
                Console.WriteLine("");
                Console.WriteLine("Try `wget --help` for help");
                Console.WriteLine("");
                Console.WriteLine("made by 리눅스맨 2023-02-24 vlog.tion.co.kr");
            }
            static void Main(string[] args)
            {
    
                if (args.Length == 0)
                {
                    help();
                }
                else
                {
                    switch (args.Length)
                    {
                        case 1:
    
                            if (args[0].Contains("http"))
                            {
                                Uri uri = new Uri(args[0]);
    
                                string fileName = null;
                                string[] uriSegments = uri.Segments;
                                int indexSegment = 0;
                                foreach (string getFileName in uriSegments)
                                {
                                    if (++indexSegment == uriSegments.Length)
                                    {
                                        //Console.WriteLine(getFileName);
                                        fileName = WebUtility.UrlDecode(getFileName.Trim());
                                    }
    
                                }
    
                                string remoteUri = uri.OriginalString;
                                string myStringWebResource = remoteUri;
                                // Create a new WebClient instance.
                                WebClient myWebClient = new WebClient();
                                // Concatenate the domain with the Web resource filename.
                                Console.WriteLine("Downloading File \"{0}\" from \"{1}\" .......\n\n", fileName, myStringWebResource);
                                // Download the Web resource and save it into the current filesystem folder.
    
                                myWebClient.DownloadFile(myStringWebResource, fileName);
                                Console.WriteLine("Successfully Downloaded File \"{0}\" from \"{1}\"", fileName, myStringWebResource);
                                Console.WriteLine("\nDownloaded file saved");
    
                            }
                            else if (args[0].Equals("--help"))
                            {
                                
                            }
                            else
                            {
                                help();
                                
                            }
    
                            break;
                    }
                }
                
            }
        }
    }
    

    이제 필요한 파일을 웹서버 하나 만들어서 업로드 하고 필요할때마다 wget.exe 파일 이용해서 다운받으면됩니다.

  • 웹서버 다운 원인 분석 결국 해커가 서버를 해킹

    웹서버 다운 원인 분석 결국 해커가 서버를 해킹

    웹서버 다운 원인 분석중입니다.

    워드프레스 홈페이지가 다운 되었다고 메일이 날라와서 그 시간대 로그를 확인해보았습니다.

    2023년 2월 17일 (금일 아침) 7시 47분 ~ 8시 8분 대략 22분정도 다운이 되었습니다.

    위의 파일은 serverChecker.php 파일을 1분마다 다운로드 받는것인데 제가 만들어놓은 스크립트가 있습니다.

    serverChecker.php 접속해서 자동으로 로그를 기록합니다.

    그걸 사용하시면 언제 웹서버가 다운되었는 정확하게 알 수 있습니다.

    파일 크키가 0일때 서버가 다운된것이므로 파일 크기 0일때를 조사해보았습니다.

    ll -SSh /root/_TION/_logs_tionServerMonitor/ | grep ^-

    3일정도를 분단위로 로그를 저장하고 있는데 하루에 한번씩 20분정도 서버가 멈추는 것으로 파악되었습니다.

    그리고 의문의 한가지가 있는데요.

    같은 시각 다른 서버에서도 동일한 흔적이 있었습니다.

    같은서버가 아님에도 불구하고 같은 시간 동일하게 서버가 다운되었습니다.

    그래서 로그를 확인해보니… 해킹시도로 인한 서비스 다운이 된듯합니다.

    최근에 관리자 접속이 계속 잠기고 로그인 할 수 없었는데 해커 2명정도가 계속 서버에 붙어서 로그인 시도를 하고 있었네요. 안타깝습니다.

    지금 확인하고 있는 가운데에도 계속 저렇게 해킹시도를 하고 있으니…

    이벤트 로그에서 해킹시도가 명백해졌으므로 IP 차단으로 해결할 문제는 아닌듯하고

    서버 root 접속 시도하는 모든 아이피를 자동으로 차단하도록 해야될꺼같단 생각이 들었습니다.

    아마존 EC2 운영은 보안서버가 EC2 서버 앞단에 있어서 방화벽으로IP를 제어할수 있지만

    ESXi, Xenserver 같은 개인서버를 운영할 경우 방화벽 단계가 없다보니 애시당초 로그인 자체를 못하게 막아야합니다.

    로그인 아이디 단 1번이라도 틀리면 접속을 못하도록 막아버려야 할꺼같습니다.

    ESXi 서버를 운영할 경우에는 아래 항목을 찾아서 변경합니다.

    Security.AccountLockFailures
    사용자 계정을 잠그기 전 허용되는 최대 로그인 실패 횟수입니다. 0은 계정 잠금을 사용하지 않습니다.
    5
    
    Security.AccountUnlockTime
    허용되는 최대 로그인 시도 실패 횟수를 초과한 후 사용자의 계정을 잠그는 기간(초)입니다.
    900
    

    저는 숫자를 900 기본값에서 999999999초로 변경하였습니다.

    31년동안 접속못하도록 막는 수치입니다.

    해커 IP가 31년 차단 당했네요.

    우리 31년 후에 만나자!~

    안녕.

    동시에 방화벽 설정에 접속 허용 IP를 지정해버렸습니다.

    완벽하게 접속하지 못하는것을 확인하였습니다.

    혹시나 유동IP 바뀌면 안되므로 고정아이피 3개랑 유동아이피 3개를 넣었습니다.

    바뀌더라도 어느 하나는 접속 가능하겠죠 ㅎㅎ

    해결 완료!