楽天モバイルの無料サポータープログラムをWindowsタブレットDELL Venue 10 Pro 5055で使って見た

楽天モバイルの無料サポータープログラムのSIMをmicroSIMスロットがついているDELL Venue 10 Pro 5055にさしてみた。

SIMをさしてみると「Rakuten」と認識はしているものの通信が出来る状態にならない。

自宅だとバンド3の入りが悪いので安定してバンド3で受信できる環境で試してみると、アンテナピクトが増減しているので受信できているものの通信はできない。

DELL Venue 10 Proで使用されている通信カードは Dell wireless 5810e で、現状のfirmwareは FIH7160_V1.2_WW_01.1528.31 だった。

新しいバージョンってあるのか?と探してみたところ「Dell Wireless 5810e LTE Mobile Broadband Driver」に「汎用ファームウェアv1616.01」という記載が・・・

そういえば、Windows10をインストールした際にWindows標準ドライバで認識したのでこれをインストールしてなかったな、ということでインストール。

インストール後に再起動し、初回ログインをすると、firmwareアップデートが実行されました。

その結果、firmwareは「FIH7160_V1.2_WW_01.1616.01」になり、アンテナ認識は「Rakuten(LTE)」表記に変化。

APN設定は、以下でOKでした。

APN名:rakuten.jp
ユーザ名/パスワード:空欄
サインイン情報:なし
IPの種類:既定

なお、動作状況からみると Dell wireless 5810e はバンド18には非対応である模様

FIH7160で検索すると「インテル® XMM™ 7160 スリムモデム」が出てくる。どうやらこれを利用しているようだが、対応バンドとしては「15-band LTE, 8-band HSPA, 4-band EDGE, MSC33」としか記載されていないので実際にどこで使えるのかが分からない。

PinePhone BraveHeart Limited Edition購入申し込み

Allwinner A64搭載のオープンハードウェア「PinePhone BraveHeart Limited Edition」の申し込みが始まったので手続きしてみた。

「BraveHeart Limited Edition」 とは「勇者の心」、意訳すると「人柱エディション」ですね。

どう人柱なのかというと、まず、発送時のハードウェアにはOSが入っていない。

先行してOS開発者向けにPinePhone Developer kitというのが2019年初頭から出回っていて、いろんなOSが開発中。

どんなOSがあるかと「Project Don’t be evil」のページを確認してみると・・・

OS名称ベース
Postmarket OSAlpine Linux
UBPortsUbuntu Touch
KDE Plasma MobileUbuntu Touch+Lineage OS/KDE
Sailfish OSMeeGo OSだけどAndroid寄りの商用
Maemo LesteMeeGo OS 
NixOSLinuxベースの関数型ディストリビューション
LunaOSpalmOSの末裔webOS
Nemo MobileSailfish OSの全てをOSS実装に?

Allwinner SoCなだけあってLinux kernelベースのものがずらりと並んでいます。

現状は基本的にUbuntuなどが稼働しているマシンにUSB接続してfirmwareを書き込むという感じになっている。

人柱エディションを卒業するまではこの初期導入の高さは抜けられないでしょう。

次に、メモリスペックが2GBというところが難点といえば難点ですが、そもそも↑であがっているOSが動くハードウェアでメモリ2GBって普通なので、まぁ・・・

PinePhoneの通信関連のスペックは下記の様になっている。

  • Worldwide, Global LTE bands
  • LTE-FDD: B1/ B2/ B3/ B4/ B5/ B7/ B8/ B12/ B13/ B18/ B19/ B20/ B25/ B26/ B28
  • LTE-TDD: B38/ B39/ B40/ B41
  • WCDMA: B1/ B2/ B4/ B5/ B6/ B8/ B19
  • GSM: 850/900/1800/1900MHz
  • WLAN: Wi-Fi 802.11 b/g/n, single-band, hotspot
  • Bluetooth: 4.0, A2DP
  • GPS: Yes, with A-GPS, GLONASS

使用されるモジュールは「Quectel Wireless EG25-G」で、メーカ製品ページには「JATE/TELEC」と技適などが取得されているような記述が・・・まぁ、アンテナ込みでの認証になるところチップのみ提供っぽいから無理なような気が・・・

ともかく到着が楽しみです

CentOS7でルータのログを受け取るrsyslog設定

ここ1ヶ月、長らく使っていたWiFiルータの一部プロセスが良く死んでいた。

具体的には固定IP割り当てしているやつらは問題ないのだが、DHCPによるIP割り当てがうまく行かず、またルーター管理画面にアクセスしようとしても途中で接続が切断される、という状態になっていた。

復帰方法は電源off/onしかないのだが、まぁ、最近のWiFiに対応するやつにするかと4千円程度のものに交換した。

ルータ交換後の様子を継続的に見るためにCentOS7サーバにログを飛ばしておくか、と設定してみた。

その1 firewallの穴開け

標準ではsyslogポート(514)は開いていないので、開ける。

まず、firewalldが持っている規定のサービス名を確認

[root@blog ~]# firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master git gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kerberos kibana klogin kpasswd kprop kshell ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql munin-node murmur mysql nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy proxy-dhcp ptp pulseaudio puppetmaster quassel radius redis rpc-bind rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync squid ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tftp tftp-client tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
[root@blog ~]#

「syslog」が使えそう。あと、今回は不要だけど「syslog-tls」も入れておくか、ということで以下を実行

[root@niselog ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp14s0
  sources:
  services: dhcpv6-client http https ssh
  ports: 
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@niselog ~]# firewall-cmd --permanent --zone=public --add-service=syslog
success
[root@niselog ~]# firewall-cmd --permanent --zone=public --add-service=syslog-tls
success
[root@niselog ~]# firewall-cmd --reload
success
[root@niselog ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp14s0
  sources:
  services: dhcpv6-client http https ssh syslog syslog-tls
  ports: 
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@niselog ~]#

また、「22.5. ロギングサーバーでの RSYSLOG の設定」によればSELinuxによりポート制限をしている事もあるので「semanage port -l」でsyslogに許可されているポートを確認しろ、とのこと。

[root@niselog ~]# semanage port -l | grep syslog
syslog_tls_port_t              tcp      6514, 10514
syslog_tls_port_t              udp      6514, 10514
syslogd_port_t                 tcp      601, 20514
syslogd_port_t                 udp      514, 601, 20514
[root@niselog ~]#

その2 rsyslogにポート514での受信許可

標準の/etc/rsyslog.conf ではポート514の使用について下記の様にコメントアウトされています。

# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

これのコメントを外します。

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

設定後、rsyslogの再起動で/var/log/messagesにログがたまる。

[root@niselog rsyslog.d]# systemctl restart rsyslog
[root@niselog rsyslog.d]# systemctl status -l rsyslog
● rsyslog.service - System Logging Service
   Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since 金 2019-11-01 11:04:53 JST; 1s ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 2872 (rsyslogd)
   CGroup: /system.slice/rsyslog.service
           mq2872 /usr/sbin/rsyslogd -n

11月 01 11:04:53 niselog systemd[1]: Starting System Logging Service...
11月 01 11:04:53 niselog rsyslogd[2872]:  [origin software="rsyslogd" swVersion="8.24.0-41.el7_7.2" x-pid="2872" x-info="http://www.rsyslog.com"] start
11月 01 11:04:53 niselog systemd[1]: Started System Logging Service.
[root@niselog rsyslog.d]#

その3 ログを分ける

標準だと/var/log/messagesにまとめられてしまうため、ログを分離する。

/etc/rsyslog.d/remote.conf というファイルを新規作成し、下記を書いた。(「gateway」はルータについているホスト名)

if $fromhost == 'gateway' then {
  -/var/log/remote/gateway.log
  stop
}

これを設定したあと、「systemctl restart rsyslog」で/var/log/remote/gateway.log にログが保存されるようになった。

なお、最初、上記の「-/var/log/remote/gateway.log」ところは「-/var/log/remote/%fromhost%.log」として%fromhost%がホスト名に置き換わることを期待したのですが、実際に作られたログファイル名は「 /var/log/remote/%fromhost%.log 」とそのままでした・・・

FortiClientのSSL-VPNが80%ぐらいで-12のエラーとなり接続出来ない

2025/06/04追記

いまだにこのページにアクセスがあるので注意喚起

FortiOS 7.6.3でSSL-VPN機能が廃止されて使えなくなりました(SSL VPN tunnel mode replaced with IPsec VPN)。

代替はIPsec VPNです。

いまだにSSL-VPNが使える環境はやばい環境なので、はやくなんとかしないとランサムウェア被害&ダークネットにzipで固められて情報流出されちゃいますよ


FortiClientのSSL-VPNを設定し、接続しようとしたら80%ぐらいのところで「 Unable to logon to the server. Your user name or password may not be configured properly for this connection. (-12) 」というエラーとなり接続できない。

ぐぐってでてきたFortinetフォーラムの「Error Forticlient stop 80%」は2017/02/10の書き込みながら、2019/01/23のコメントとしてWindows10の場合の事例について記載があった。

で、この記載を実施したところなおった。

「Internet Explorer」を開き、「インターネットオプション」の「詳細設定」を開く

上記の「Internet Explorerの設定をリセット」にある「リセット」を実行する。

実行後は一度再起動する。

再起動後、 「Internet Explorer」を開き、「インターネットオプション」の 「セキュリティ」を開く。

上記の「信頼済みサイト」を選択し、「サイト」をクリックする。

開いたウィンドウではSSL接続先のホスト名もしくはIPアドレスを登録する。(不要かも?)

ここで一度、FortiClientを起動してSSL-VPNが接続できるかを確認する。

まだ接続できないようであれば、「コントロールパネル」を開く

「プログラムのアンインストール」を選択

「FortiClient」を選択し「修復」を行う。

修復完了後は、再起動を行う。

おそらく、これでSSL-VPNが接続できるようになると思われる。


後日、「Unable to establish the VPN connection. The VPN server may be unreachable. (-14)」というエラーがでる・・・なんで?

(これは接続先が停止していたためと判明)


2021/01/06追記

新端末で「ステータス: 98%」で時間がかかって、エラーも何も出力されないまま、パスワード入力要求まで戻る、という現象が発生

調べると「IPv6を無効にする」なんて対処がでてきたりするが、デバイスマネージャでネットワークアダプターの項目にある「WAN Miniport (IP)」を削除し、Windows再起動してWAN Miniport(IP)を再作成すればいけるらしい

楽天モバイルの場合はIPv6周りの動作の問題で、対処方法については「楽天モバイル回線でForticlientによるSSL-VPNを行うと98%で止まるがエラーもない件の対処」に記載した。

EC-CUBE 4.0をSELinux有効状態のOracle Linux 7上に構築する手順(仮

EC-CUBE 4.0のテスト環境が必要になったので、Oracle Cloud上のOracle Linux 7インスタンスを立てて、その上に作成した。

が・・・公式ドキュメントはSELinux関連の設定とか触れてないし、かなり面倒だった。
厳密にやろうとするとかなりキツイので、SELinux有効の中でも簡単な対処としている。

環境初期準備

タイムゾーンを日本に設定

# timedatectl set-timezone Japan

fail2ban設定

sshアタックがあった場合にとっととIPバンするためにfail2banをインストール。
・・・いや、ターゲットにされるとホント、すごい勢いでsshアクセスの試行がありますよ。

# yum install -y fail2ban fail2ban-hostsdeny fail2ban-systemd
# systemctl enable fail2ban.service
# cat <<EOF > /etc/fail2ban/jail.local
[DEFAULT]
# 24時間以内に3回不審なアクセスがあったら24時間BAN
#bantime  = 86400
#findtime  = 86400
bantime  = 259200
findtime  = 259200
maxretry = 5

#CentOS7なのでsystemd
#backend = systemd # jail.d/00-systemd.conf で設定されてた

# 除外IP
ignoreip = 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 <除外したいIPを追加>
[sshd]
enabled = true
banaction = firewallcmd-ipset
EOF
# systemctl start fail2ban.service
#

webサーバとphp設定

phpはOracleが用意しているphp 7.2を使用するため、「oracle-php-release-el7」をインストール。現状の標準設定だとphp 7.2が標準選択されている。なお、php 7.1かphp 7.0を使うこともできるが、いまさら利点は無いので使用しない方がよい。

# yum install oracle-php-release-el7
# 

phpパッケージとhttpdをインストールして、firewall開け設定実施

# yum install -y httpd mod_ssl php php-json php-mbstring php-pdo php-xml php-zip php-mysqlnd php-intl 
# systemctl enable httpd
# systemctl start httpd
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

APCU(php-pecl-apcu)のインストールを推奨されたが、パッケージのコンフリクトが発生していたのでインストールしなかった。

SQLサーバ設定

今回はmariadbをSQLサーバとして使用した。

# yum install -y mariadb-server
# systemctl enable mariadb
# systemctl start mariadb
#

SQL起動後、ECCUBE用のデータベースを作成した。

# mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database eccube character set utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all on eccube.* to cubesql@localhost identified by 'dbsqlp@ss';
Query OK, 0 rows affected (0.08 sec)

MariaDB [(none)]> exit
Bye
#

ECCUBEファイル展開

/var/www/html/eccube にEC-CUBE 4.0.3を展開した。

展開した中に.htaccessファイルが含まれていますが、標準設定では読み込まないのでApacheに設定追加を行います。 (もっとセキュリティを強化してもいいとは思いますが、面倒だったので・・・)

# cat <<EOF> /etc/httpd/conf.d/eccube.conf
<Directory "/var/www/html/eccube">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
EOF
# systemctl restart httpd
#

で・・・SELinuxがらみがどうなるかですが、おもいっきり引っかかりまくりました。

とりあえず該当するコンテンツに対して「httpd_sys_rw_content_t」を割り当てることで対処しました。

最初は個別に対処していこうとしたのですが、インストールプロセスを進めていくと、/var/www/html/eccube全体に対して権限を要求されたため、最終的には下記となりました。

# chcon -t httpd_sys_rw_content_t -R /var/www/html/eccube
#

とりあえず、これでEC-CUBE 4.0の初期セットアップ完了までできるようになりました。

なお、サイトによっては「getsebool -a|grep httpd_can_network_connect」で「httpd_can_network_connect」の値を確認し、offであればonに変更する、と記載されているものもありますが、必要ありませんでした。

エラーコレクション

SELinux設定をしていく中で出てきたエラー群です。

まず、 http://IPアドレス/eccube/ にアクセスすると以下が現れました。

(2/2) ContextErrorException
Warning: file_put_contents(/var/www/html/eccube/var/cache/install/EccubeInstallDebugProjectContainerDeprecations.log): failed to open stream: No such file or directory

(1/2) RuntimeException
Unable to create the cache directory (/var/www/html/eccube/var/cache/install)

このときに表示された /var/www/html/eccube/var に対して「chcon -t httpd_sys_rw_content_t -R /var/www/html/eccube/var」を実行しました。

次にでたエラーは下記です。

Filesystem->copy('/var/www/html/eccube/html/template/default/assets/img/common/favicon.ico', '/var/www/html/eccube/html/user_data/assets/img/common/favicon.ico')

/var/www/html/eccube/html/user_data以下に書き込む権限がないというもの。
eccubeディレクトリ内を探すと他にも「user_data」というディレクトリがあったため、「chcon -t httpd_sys_rw_content_t -R /var/www/html/eccube/html/user_data」と「chcon -t httpd_sys_rw_content_t -R /var/www/html/eccube/app/template/user_data」を実行した。

最後に「権限チェック」で引っかかった。

以下のファイルまたはディレクトリに書き込み権限を付与してください。
>>☓:/var/www/html/eccube
>>☓:/var/www/html/eccube/app/Plugin
>>☓:/var/www/html/eccube/app/PluginData
>>☓:/var/www/html/eccube/app/proxy
>>☓:/var/www/html/eccube/app/template
>>☓:/var/www/html/eccube/html
>>☓:/var/www/html/eccube/vendor
<略>
>>☓:/var/www/html/eccube/vendor/ocramius/proxy-manager/README.md
>>☓:/var/www/html/eccube/vendor/ocramius/proxy-manager/composer.json
>>☓:/var/www/html/eccube/composer.json
>>☓:/var/www/html/eccube/composer.lock

ようはここまでで「httpd_sys_rw_content_t」を設定しなかった全ファイル。

「chcon -t httpd_sys_rw_content_t -R /var/www/html/eccube」を実行して再チェック・・・

>>○:アクセス権限は正常です

これでセットアップを進めることができました。