本記事の内容はサポート対象外になる内容を含んでいます。
ThousandEyes Virtual Appliance (TE VA)では sudo
コマンドを介して実行可能なLinuxコマンドが制限されています。
ですが、te-va-unlock
パッケージを導入すると Unlocked
のステータスとなって サポート対象外にはなりますが sudo
コマンドの制限が緩和されます。
強調しますが、sudo
コマンドの制限緩和はサポート対象外になるため注意してください。
NOTE: Changes which require unlocking the Virtual Appliance will not be supported by ThousandEyes. A Virtual Appliance which becomes inaccessible, unstable or otherwise unusable after such changes will require reinstallation of the Virtual Appliance.
サポート対象外になるのを踏まえると、現実的な活用方法としては検証目的でThousandEyes Virtual Applianceの内部的な挙動を追って確かめるような用途になると想定されます。
設定方法
設定方法はThousandEyes Virtual Appliance (TE VA)に Username: thousandeyes
でSSH接続して、te-va-unlock
パッケージの導入します。
sudo apt-get update sudo apt-get install te-va-unlock
SSH接続は公開鍵認証となって一手間かかるため、未設定の方は下記の記事を参考にしてください。
Unlocked 状態の確認
te-va-unlock
パッケージを導入すると、Virtual ApplianceのWeb UI上に Unlocked
のロゴが表示されるようになります。
ThousandEyes Portal上では Installation Type
の括弧書きの中に Unlocked
と表示されます。
補足情報: te-va-unlock パッケージの中身
te-va-unlock
パッケージをインストールすると、sudo
コマンドの設定ファイルである /etc/sudoers.d/te-va-sudoers
が展開されます。
thousandeyes@thousandeyes-va:~$ dpkg -L te-va-unlock /. /etc /etc/sudoers.d /tmp /tmp/.te-va-sudoers-unlocked thousandeyes@thousandeyes-va:~$
設定ファイルには Username: thousandeyes
がパスワード入力なしで sudo
コマンドを実行可能となる設定が施されています。
thousandeyes@thousandeyes-va:~$ sudo cat /etc/sudoers.d/te-va-sudoers thousandeyes ALL=(ALL) NOPASSWD: ALL thousandeyes@thousandeyes-va:~$
なお、/etc/sudoers.d/te-va-sudoers
ファイル自体は元々存在しており、te-va-unlock
パッケージの導入に際して上書きされてました。(ファイルのタイム スタンプがOVAデプロイ日時より過去に遡っていました。)
thousandeyes@thousandeyes-va:~$ ls -l /etc/sudoers.d/ total 12 -r--r----- 1 root root 958 Jan 18 2018 README -r--r----- 1 root root 2081 Dec 7 18:03 te-va-sudoers -r--r----- 1 root root 83 Dec 8 22:25 tools thousandeyes@thousandeyes-va:~$ thousandeyes@thousandeyes-va:~$ sudo apt-get install te-va-unlock Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: te-va-unlock 0 upgraded, 1 newly installed, 0 to remove and 7 not upgraded. Need to get 952 B of archives. After this operation, 0 B of additional disk space will be used. Get:1 https://apt.thousandeyes.com bionic/main amd64 te-va-unlock all 0.182-1~bionic [952 B] Fetched 952 B in 1s (1,357 B/s) Selecting previously unselected package te-va-unlock. (Reading database ... 45765 files and directories currently installed.) Preparing to unpack .../te-va-unlock_0.182-1~bionic_all.deb ... Unpacking te-va-unlock (0.182-1~bionic) ... Setting up te-va-unlock (0.182-1~bionic) ... thousandeyes@thousandeyes-va:~$ thousandeyes@thousandeyes-va:~$ ls -l /etc/sudoers.d/ total 12 -r--r----- 1 root root 958 Jan 18 2018 README -r--r----- 1 root root 37 Apr 7 2020 te-va-sudoers -r--r----- 1 root root 83 Dec 8 22:25 tools thousandeyes@thousandeyes-va:~$
更にOVAファイルを展開して元々 (上書き前のオリジナル)の /etc/sudoers.d/te-va-sudoers
ファイルの情報を追うと、下記のようになっておりました。
# All the shutdown commands (consider enabling in the future) # Cmnd_Alias SHUTDOWN_CMDS = /sbin/shutdown, /sbin/reboot, /sbin/halt # Service start/stop/restart commands for te- services Cmnd_Alias TE_VA_SERVICE_CMDS = /bin/systemctl start te-va, /bin/systemctl stop te-va, /bin/systemctl restart te-va, /bin/systemctl status te-va Cmnd_Alias TE_AGENT_SERVICE_CMDS = /bin/systemctl start te-agent, /bin/systemctl stop te-agent, /bin/systemctl restart te-agent, /bin/systemctl status te-agent Cmnd_Alias TE_BROWSERBOT_SERVICE_CMDS = /bin/systemctl start te-browserbot, /bin/systemctl stop te-browserbot, /bin/systemctl restart te-browserbot, /bin/systemctl status te-browserbot Cmnd_Alias TE_OS_SERVICE_CMDS = /sbin/reboot, sudoedit /etc/hosts, /usr/bin/dig, /usr/bin/lsof Cmnd_Alias TE_SERVICE_CMDS = TE_VA_SERVICE_CMDS, TE_AGENT_SERVICE_CMDS, \ TE_BROWSERBOT_SERVICE_CMDS, TE_OS_SERVICE_CMDS # te-agent-utils # /usr/local/bin should be removed once the packages are updated to /usr/bin Cmnd_Alias TE_AGENT_UTILS_CMDS = /usr/bin/te-*, \ /usr/local/bin/te-*, \ /usr/local/sbin/te-* # apt-get install commands for te- services Cmnd_Alias APT_GET_INSTALL_CMDS = /usr/bin/apt-get update, \ /usr/bin/apt-get install te-agent, \ /usr/bin/apt-get install te-browserbot, \ /usr/bin/apt-get install te-va, \ /usr/bin/apt-get install te-pa, \ /usr/bin/apt-get install te-va-unlock, \ /usr/bin/apt-get install te-intl-fonts, \ /usr/bin/apt-get install te-agent-utils, \ /usr/bin/apt-get install ntpdate, \ /usr/bin/apt-cache thousandeyes ALL=(ALL) NOPASSWD: TE_SERVICE_CMDS, \ APT_GET_INSTALL_CMDS, \ TE_AGENT_UTILS_CMDS
以上の情報より、元々の設定ファイルではThousandEyesの運用に必要なコマンドに絞られており、パッケージの導入を契機にして制限緩和用の設定情報で上書きしたのが分かります。