HPE OfficeConnect 1950スイッチをシリアルケーブルで設定できるのか?

HPE OfficeConnect 1950はマニュアルを読む限り設定はWebでしかできないように書かれている。
しかし、設定をExportしたファイルを見ると、HPE 5800と同様のフォーマットで設定が書かれている。
本当にシリアルで設定ができないのか?

まず、シリアルは38400bpsで接続する。

初期は「admin」で、パスワードは無い。

******************************************************************************
* Copyright (c) 2010-2017 Hewlett Packard Enterprise Development LP          *
* Without the owner's prior written consent,                                 *
* no decompiling or reverse-engineering shall be allowed.                    *
******************************************************************************

Line aux0 is available.


Press ENTER to get started.
login: admin
Password:
<HPE>%Mar 19 13:31:25:657 2018 HPE SHELL/5/SHELL_LOGIN: admin logged in from aux0.

「?」を入力すると、いま使えるコマンド一覧が出てくる。

<HPE> ?
User view commands:
  display       Display current system information
  exit          Alias for 'quit'
  initialize    Delete the startup configuration file and reboot system
  ipsetup       IP configuration
  no            Alias for 'undo'
  password      Specify password of local user
  ping          Ping function
  poe           Power over Ethernet
  quit          Exit from current command view
  reboot        Reboot operation
  show          Alias for 'display'
  summary       Display summary information of the device
  telnet        Establish a telnet connection
  transceiver   Enable transceiver phony alarm
  undo          Cancel current setting
  upgrade       Upgrade the system boot file or the Boot ROM program
  xtd-cli-mode  Switch to extended CLI mode to display and execute all commands
                (special authorization required)

<HPE>

Web GUIでエクスポートした設定はHPE 5800相当なのに、使えるコマンドは全然違う。

とりあえず片っ端から入力してみれば、最後の「xtd-cli-mode」が怪しそう。

<HPE>xtd-cli-mode
All commands can be displayed and executed in extended CLI mode. Switch to extended CLI mode? [Y/N]:y
Password:


パスワードを要求される。

調べてみると、パスワードがわかる。

Glazenbakje’s technical blog「HP v1910 Secret Commando list ( how to enable it )」のコメントに記載
俺の技術メモ「HP 1950 Switchのxtd-cli-modeパスワード
HPE Community「HP 1950 JG961A “xtd-cli-mode”

foes-bent-pile-atom-ship

<HPE>xtd-cli-mode
All commands can be displayed and executed in extended CLI mode. Switch to extended CLI mode? [Y/N]:y
Password:
Warning: Extended CLI mode is intended for developers to test the system. Before using commands in extended CLI mode, contact the Technical Support and make sure you know the potential impact on the device and the network.
<HPE>

プロンプトが変わる、ということもないため、変更が反映されたかがわかりません。
とりあえず「?」と入力し、コマンド一覧を出します。

<HPE>?
User view commands:
  archive             Archive configuration
  arp                 Address Resolution Protocol (ARP) module
  backup              Backup operation
  boot-loader         Software image file management
  bootrom             Update/read/backup/restore bootrom
  cd                  Change current directory
  cfd                 Connectivity Fault Detection (CFD) module
  clock               Specify the system clock
  copy                Copy a file
  debugging           Enable system debugging functions
  delete              Delete a file
  diagnostic-logfile  Diagnostic log file configuration
  dir                 Display files and directories on the storage media
  display             Display current system information
  erase               Alias for 'delete'
  exception           Exception information configuration
  exit                Alias for 'quit'
  fdisk               Partition a storage medium
  fixdisk             Check and repair a storage medium
  format              Format a storage medium
  free                Release a connection
  ftp                 Open an FTP connection
  gunzip              Decompress file
  gzip                Compress file
  install             Perform package management operation
  ip                  Specify IP configuration
  local-guest         Manage guest users
  lock                Lock the current line
  logfile             Log file configuration
  md5sum              Compute the hash digest of a file using the MD5 algorithm
  mkdir               Create a new directory
  monitor             System monitor
  more                Display the contents of a file
  mount               Mount a storage medium
  move                Move a file
  mtrace              Configure the multicast traceroute
  no                  Alias for 'undo'
  oam                 OAM module
  ping                Ping function
  process             Process management
  pwd                 Display current working directory
  python              Source using python script
  quit                Exit from current command view
  reboot              Reboot operation
  rename              Rename a file or directory
  repeat              Repeat executing history commands
  reset               Reset operation
  restore             Restore operation
  rmdir               Remove an existing directory
  save                Save current configuration
  scheduler           Scheduler configuration
  scp                 Establish an SCP connection to an SCP server
  screen-length       Multiple-screen output function
  security-logfile    Security log file configuration
  send                Send information to other lines
  sftp                Establish an SFTP connection to an SFTP server
  sha256sum           Compute the hash digest of a file using the SHA256
                      algorithm
  show                Alias for 'display'
  ssh2                Establish an Stelnet connection to an Stelnet server
  startup             Specify system startup parameters
  super               Switch to a user role
  system-view         Enter the System View
  tar                 Archive management
  tclquit             Exit from TCL shell
  tclsh               Enter the TCL shell
  telnet              Establish a telnet connection
  terminal            Set the terminal line characteristics
  tftp                Open a TFTP connection
  tracert             Tracert function
  umount              Unmount a storage medium
  undelete            Recover a deleted file
  undo                Cancel current setting
  web                 Web configuration
  write               Alias for 'save'
  xml                 Enter XML view
  xtd-cli-mode        Switch to extended CLI mode to display and execute all
                      commands (special authorization required)

<HPE>

大幅に増えました。

「show current-configuration」で現在の設定を確認できます。

<HPE> show current-configuration
#
 version 7.1.070, Release 5106p03
#
 sysname HPE
#
 clock timezone Tokyo add 09:00:00
 clock protocol ntp
#
 telnet server enable
<略>
#
user-group system
#
local-user admin class manage
 service-type telnet http https terminal
 authorization-attribute user-role network-admin
 authorization-attribute user-role network-operator
#
 ip http enable
 ip https enable
#
return
<HPE>

この結果は、Web GUIでエクスポートした設定ファイルと等しい状態でした。

単3電池駆動の携帯電話SpareOneは会社ごと死亡

非常時に使える単三乾電池で駆動する携帯電話Spare One
最近話題を聞かないけど、どうしたのかなぁ、と調べて見た

2013/06/06: 単3電池駆動のシンプルフォンSpare Oneに新モデルSpare One plus登場
2014/06/06: 単3乾電池で動作する携帯SpareOneがComputex Debut!の謎
2016/07/26: 単3電池駆動の携帯電話SpareOneの3Gモデルが登場していた

サイトにアクセスしてみると・・・

ドメイン消滅済み。

調べて見ると、アメリカでSpare Oneを販売していたこともあるAT&Tからお知らせがでているのを発見。
SpareOne service no longer available
AT&TのプリペイドSIMで販売したSpareOne Emergency Phone向けのサービスは2017年10月15日で終了します。という告知。

いまだにAmazon.comで売ってるSellerがいる、というのもアレだけど、レビューを読むとAT&Tの告知は2017年8月31日ぐらいにでて、9月7日頃にはSpareOneのWebもサポートも連絡が取れなくなった模様。

まぁ、緊急時の警報通報サービスシステムが使えなくなっている、というだけなので、電話として使うことはできるようなんですが、GSM自体も先が無いですし、見込まれた終焉って感じがしなくもないですね・・・

メールソフトの設定自動検出用DNSレコード

久しぶりにメールサーバの設定をいろいろやった。

その際にテスト用にメールソフトを設定したが、何やら自動検出の仕組みがあるようだ
調べて見ると、RFC6186により定義されているDNSのSRVレコードにより、IMAP/POP3/SMTPのサーバ名、ポート番号情報を広報することができるらしい。

SRVレコードの定義:RFC2782 A DNS RR for specifying the location of services (DNS SRV)
SRVレコードでメールサーバ定義を配布:RFC6186 Use of SRV Records for Locating Email Submission/Access Services

設定例としてmailcowの「DNS setup」の「The advanced DNS configuration」にちょうどいい感じのがあったので引用

Example DNS server configuration
mail                IN A       1.2.3.4
autodiscover        IN A       1.2.3.4
autoconfig          IN A       1.2.3.4

@                   IN MX 10   mail

_imap._tcp          IN SRV     0 1 143 mail.example.org.
_imaps._tcp         IN SRV     0 1 993 mail.example.org.
_pop3._tcp          IN SRV     0 1 110 mail.example.org.
_pop3s._tcp         IN SRV     0 1 995 mail.example.org.
_submission._tcp    IN SRV     0 1 587 mail.example.org.
_caldavs._tcp       IN SRV     0 1 443 dav.example.org.
_carddavs._tcp      IN SRV     0 1 443 dav.example.org.
_autodiscover._tcp  IN SRV     0 1 443 autodiscover.example.org.

@                   IN TXT     "v=spf1 mx ~all"
default._domainkey  IN TXT     "v=DKIM1; k=rsa; t=s; s=email; p=..."
; _dmarc            IN TXT     "v=DMARC1; p=reject; rua=mailto:mailauth-reports@example.org"

「_サービス名.tcp IN SRV 優先度 ウェイト ポート番号 サーバ名」というのが基本書式
優先度は0が最優先。最大は65535。
優先度が同じもののなかで、どちらが使われるかをウェイトで定義。ウェイトは数が大きい方が優先される。こちらも値は0~65535の範囲。

例えば、SSL無しのアクセスを禁止する場合、下記のように禁止するサービスの名前解決を「.」が返るようにする

_imap._tcp          IN SRV     0 0 0 .
_imaps._tcp         IN SRV     0 1 993 mail.example.org.
_pop3._tcp          IN SRV     0 0 0 .
_pop3s._tcp         IN SRV     0 1 995 mail.example.org.

IMAPを優先して使わせたい場合は、以下のようになるようだ。

_imap._tcp          IN SRV     0 1 143 mail.example.org.
_imaps._tcp         IN SRV     0 1 993 mail.example.org.
_pop3._tcp          IN SRV     10 1 110 mail.example.org.
_pop3s._tcp         IN SRV     10 1 995 mail.example.org.

Outlookの場合は、DNSの_autodiscoverについてのSRVレコード登録から、Webサーバ上にあるxmlファイル内にアクセスして、サーバ設定を読み込むようになっているようだ
Outlook 2010 におけるユーザー アカウント自動構成の計画

Exchange互換のSOGoを使う場合の設定は「6.5. Name Service Configuration for Web Services」に記載がある。

このページにSPF/DKIM/DMARCの動作確認「HAD Email Test Tool」が紹介されていたので記載されているメールアドレスに「test」と書いたメールを送ってみた。

・・・30分ぐらい待ってもメールが来ない
「 A reply will be sent with the findings」とあるから、何か見付かったらメールが来るってことで、来ないってことは問題ないということでいいのかな?っと


2018/07/18追記

Thunderbird MailとOutlookの古いやつだとxmlファイルを置いて設定検出が出来る
ただし、どちらもURLとxml書式が異なる

Thunderbirdの場合
・http://autoconfig.example.com/mail/config-v1.1.xml?emailaddress=fred@example.com
・http://example.com/.well-known/autoconfig/mail/config-v1.1.xml

Outlookの場合
・https://*domain*/autodiscover/autodiscover.xml
・https://autodiscover.*domain*/autodiscover/autodiscover.xml
・HTTP GET: http://autodiscover.*domain*/autodiscover/autodiscover.xml

Thunderbird のアカウント情報自動設定機能
Outlook 2010 におけるユーザー アカウント自動構成の計画
Exchange Server 2013 の自動検出サービス 」と「White Paper: Exchange 2007 Autodiscover Service

ESXi 6.5でVMDirectPath I/Oが設定できるけど使えない

ESXi6.5環境において、16Gb FC HBAのQLogic QLE2662に対して、VMDirectPath I/Oで仮想マシンから直接使える様にパススルー設定をした。
設定は問題なくできたものの、仮想マシンを起動してみると、全然認識してくれない。

よく、パススルー設定で選択できない、という話は聞くが、今回は、設定は出来ている。

ためしに8GbのFC HBA QLE2540 を使ってみると、同様の手法で設定でき、仮想マシンからちゃんと認識している。

ここら辺に糸口があるな、と調査。


<調査過程は省略>

結論からすると「VMware vSphere VMDirectPath I/O:プラットフォームとデバイスの要件」(英語版:VMware vSphere VMDirectPath I/O: Requirements for Platforms and Devices)の「PCI 機能リセット」設定の問題だった。

パススルー設定したPCIeデバイスは、物理サーバ起動時に初期化しているが、接続されている仮想マシンが起動する毎にPCIeデバイスの初期化を行う必要がある。
この初期化手法をどういう風に行うか、という設定を適切に行わないと、仮想マシン側で認識できないようだ。

設定はESXi上の /etc/vmware/passthru.map で行われている。

うまく動いたQLE2540のVender ID/Product IDを「esxcfg-info」コマンドで確認すると「1077」「2523」。
これは /etc/vmware/passthru.map で「1077 2532 default false」という定義で設定されている。
意味は、初期化手法がdefaultで、fptShareableがfalseなので全体初期化になる、というもの。
全体初期化であるため、1枚に複数ポートがある場合、別の仮想マシンに割り当てることができず、同じ仮想マシンに全部のポートを割り当てる必要がある、ということになる。

動かなかったQLE2662の方は「1077」「2031」。
記載が無いので、適切な初期化方法を見つけて追加する必要がある。
KBに「PCI ホスト ブリッジ直下の PCI 機能を VMDirectPath I/O で使用するには、FLR または D3Hot リセットをサポートする必要があります」とあるため「flr」の場合と「d3d0」の場合をそれぞれ実験。
結果、「d3d0」の時のみ仮想マシン側でもデバイスを認識してくれた。

ということで、/etc/vmware/passthru.mapの最終行に「1077 2031 d3d0 default」という記載を追加した。

なお、 passthru.map の修正を行った後は、ESXiを再起動する必要がある。

# cd /etc/vmware/passthru.map
# passthrough attributes for devices
# file format: vendor-id device-id resetMethod fptShareable
# vendor/device id: xxxx (in hex) (ffff can be used for wildchar match)
# reset methods: flr, d3d0, link, bridge, default
# fptShareable: true/default, false

# Intel 82579LM Gig NIC can be reset with d3d0
8086  1502  d3d0     default
# Intel 82598 10Gig cards can be reset with d3d0
8086  10b6  d3d0     default
8086  10c6  d3d0     default
8086  10c7  d3d0     default
8086  10c8  d3d0     default
8086  10dd  d3d0     default
# Broadcom 57710/57711/57712 10Gig cards are not shareable
14e4  164e  default  false
14e4  164f  default  false
14e4  1650  default  false
14e4  1662  link     false
# Qlogic 8Gb FC card can not be shared
1077  2532  default  false
# QLogic QL45604 cards need to be reset with "link" and cannot be shared
1077  1634  link     false
1077  1629  link     false
1077  1636  link     false
1077  1656  link     false
1077  1644  link     false
1077  1654  link     false
# LSILogic 1068 based SAS controllers
1000  0056  d3d0     default    
1000  0058  d3d0     default
# NVIDIA
10de  ffff  bridge   false
# for QLE2662
1077  2031  d3d0     default
#

postfix/dovecotメールサーバでWindows Live Mail 2012がエラーになる

qmail+vpopmailという古代の環境から、postfix/dovecotのiredmailメールサーバに移行した。
移行の詳細については別途記事にしますが、移行後、Windows Live Mail 2012ユーザからクレームが・・・

POP3で受信ができないという

原因は、Windows Live Mail 2012のPOP3アクセス機能が古い、という点に尽きる。
対処するにはサーバ側でセキュリティを弱める設定を入れる必要があった。

2020/09/10追記 その1については、iredmail公式にも「Allow insecure POP3/IMAP/SMTP connections without STARTTLS」という形で対処方法が記載された。

その1:POP3受信時にエラー

/var/log/dovecot/pop3.log に下記のログ

Feb 19 10:35:59 oflex-1096-1 dovecot: pop3-login: Disconnected (tried to use disallowed plaintext auth): user=<osakana@example.net>, rip=xxx.xxx.xxx.xxx, lip=xxx.xx.x.xxx, session=<brxUt4ZlTfPbavEx>

→ dovecotの「ssl = required」と「disable_plaintext_auth = yes」の設定により発生
これを「ssl = yes」と「disable_plaintext_auth = no」に変更することで対処できる

設定箇所は下記の3ファイル

/etc/dovecot/dovecot.conf ではsslとdisable_plaintext_authの双方が設定されている可能性がある
/etc/dovecot/conf.d/10-auth.conf ではdisable_plaintext_authが設定されている可能性がある
/etc/dovecot/conf.d/10-ssl.conf ではsslが設定されている可能性がある

3ファイルをそれぞれ確認して修正すること

うちの環境ではssl=requriedがdovecot.confと10-ssl.confの双方で設定されていたが、
10-ssl.confしか認識しておらずいくら設定しても反映されないと悩んだ。

その2:SMTP送信時にエラー1

/var/log/maillog に下記のログ

Feb 19 10:41:49 mailserver.osakana.net postfix/smtpd[8343]: NOQUEUE: reject: RCPT from clienthostname.osakana.net[xxx.xxx.xxx.xxx]: 504 5.5.2 <clienthostname>: Helo command rejected: need fully-qualified hostname; from=<osakana@osakana.net> to=<osakana@example.com> proto=ESMTP helo=<clienthostname>

→postfixの「smtpd_helo_restrictions」で「reject_non_fqdn_helo_hostname」が設定されているため発生

まずは、現在値確認

# postconf smtpd_helo_restrictions
smtpd_helo_restrictions = permit_mynetworks permit_sasl_authenticated check_helo_access pcre:/etc/postfix/helo_access.pcre reject_non_fqdn_helo_hostname reject_unknown_helo_hostname
#

変更前の /etc/postfix/main.cf の該当部分を確認

# HELO restriction
smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    check_helo_access pcre:/etc/postfix/helo_access.pcre
    reject_non_fqdn_helo_hostname
    reject_unknown_helo_hostname

変更後の /etc/postfix/main.cf の該当部分

# HELO restriction
smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    check_helo_access pcre:/etc/postfix/helo_access.pcre
    reject_unknown_helo_hostname
#    reject_non_fqdn_helo_hostname

postconfを実行して、変更されたことを確認

# postconf smtpd_helo_restrictions
smtpd_helo_restrictions = permit_mynetworks permit_sasl_authenticated check_helo_access pcre:/etc/postfix/helo_access.pcre reject_unknown_helo_hostname
#

その3:SMTP送信時にエラー2

/var/log/maillog に以下のログ

Feb 19 11:04:48 mailserver.osakana.net postfix/smtpd[11966]: NOQUEUE: reject: RCPT from clienthostname.osakana.net[xxx.xxx.xxx.xxx]: 450 4.7.1 <clienthostname>: Helo command rejected: Host not found; from=<osakana@osakana.net> to=<osakana@example.com> proto=ESMTP helo=<clienthostname>

→postfixの「smtpd_helo_restrictions」で「reject_unknown_helo_hostname」が設定されているため発生

変更前の値はエラー1と同じなのでここでは省略

変更後の /etc/postfix/main.cf の該当部分

# HELO restriction
smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    check_helo_access pcre:/etc/postfix/helo_access.pcre
#    reject_non_fqdn_helo_hostname
#    reject_unknown_helo_hostname

コメントアウト記述が2つに増えただけですね。

その4:SMTP送信時にエラー3

/var/log/maillog に以下のログ

Feb 19 11:07:08 mailserver.osakana.net postfix/smtpd[12710]: NOQUEUE: reject: RCPT from clienthostname.osakana.net[xxx.xxx.xxx.xxx]: 454 4.7.1 <osakana@example.com>: Relay access denied; from=<osakana@osakana.net> to=<osakana@example.com> proto=ESMTP helo=<clienthostname>

これは単純にテスト用にセットアップしたアカウントがSMTPポート25を使っていたせいで失敗していた。
ポート587に変更したら成功