SoftEther

copy link address

wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.30-9696-beta/softether-vpnserver-v4.30-9696-beta-2019.07.08-linux-x64-64bit.tar.gz

tar zxvf

cd vpnserver

vpncmd, 3, check

vpnserver start

vpncmd, 1

softetherを物理デバイスとローカルブリッジすると、vpn経由で物理デバイスのipにアクセスできないので、サーバー自体にアクセスできないらしい。そのため、仮想デバイスとローカルブリッジした上で、仮想ブリッジで物理デバイスとブリッジする。

bridge-utils

upgrade ubuntu 16.04 to 18.04

Altus Basciで準備されているubuntuのテンプレートは16.04LTSまでしかない。
18.04LTSを試すために、アップグレード
apt update
apt upgrade
apt autoremove
apt full-upgrade してもなにも起こらない。
do-release-upgrade -dを実行
-dオプションをつけていないと、LTSなのにアップグレードできない。
SSH接続のままでも、問題なく、アップグレードできた。
途中いくつかの質問があるが、defaultではなく、installを選択した。
最後に、再起動して無事終了。

2019/10/4
仮想サーバを再作成したら、アップグレードの表示があった。
# apt update
# apt upgrade
# reboot
# do-releae-upgrade

簡単と思ったらアップグレードに失敗。どうしましょう?

ubuntuの小技

最近は、apt-getではなくて、aptなのね。Debian管理者ハンドブックによると、もっとも推奨されるのはaptとのことだ。
でも、apt list –installedとかすると、apt does not have a stabel CLI interfaceと警告が出る。
# apt update
# apt upgrade
# apt autoremove
# apt autoclean
リリースの表示は、/etc/lsb-releaseを見てもよい。
ハイフンとアンダーバーがややこしい。
# lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial
# cat /etc/debian_version
stretch/sid
# apt install nginx
# ufw app list
# systemctl start nginx
# systemctl status nginx
再インストール
# apt install nginx –reinstall
インストール済みパッケージの確認
# apt list –installed | grep -i nginx

再インストールで設定ファイルも含めて初期化するためには、パッケージをpurgeしておく必要があるが、autoremoveでもpurgeしておかないといけない。
# apt purge asterisk
# apt autoremove –purge
# apt install asterisk

タイムゾーンの変更
# dpkg-reconfigure tzdata

DNSサーバの問い合わせ、hostやdigを使うため。
Arch linuxなら、bind-toolsなのだが。
# apt install dnsutils
ドメインの情報には、whoisの方が便利。

ハイフンで始まるファイル名の削除
# rm -i — -bad_name

Shadowsocksr

スクリプトの使用で簡単にインストールできる。

# sudo -i
# wget –no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh && chmod +x shadowsocks-all.sh && ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

# ufw allow ポート
Altusを使用しているので、サーバだけでなく、グローバルIP側のFWも開放する。

# /etc/init.d/shadowsocks-r status
# tail /var/log/shadowsocksr.log

# ss -tulp
listenしているプロセスを表示

バージョンは3.2.2で、プロトコルにauth_chainを選ぶとエラーになる。

GMOクラウド ALTUS Basicでubuntu

GMOクラウド ALTUS Basicを契約してみた。
ミニサーバーというワンコイン・プランがあり、1コアCPU、メモリ512MB、ディスク20GB、帯域が3Mbpsだが、税抜き月額500円。
結論からいうと,SSH接続で快適に使用できるが,Webインターフェースが最悪で,タイムアウトでサーバーの操作に失敗する。
値段が安く,メールのお問い合わせに対する返信が早いので,実験用としてのみおすすめする。

Webインターフェースは、2種類あって、わかりにくいが、アカウントにログインすると、まずはALTUSポータルになる。
1 メニューでBasicシリーズを利用開始した後、設定管理を選択
2 プルダウンで、ファイアーウォール(セキュリティグループ)を選択し、新規作成。
  その後,受信設定をクリックして、おまかせでSSHを追加する。
3 プルダウンで、仮想サーバーを選択し、ミニサーバーを新規作成し、前項のセキュリティグループを選択する。
  テンプレートはubuntsuを選択したので、作成後にcloudユーザのパスワードが表示される。
  作成に結構時間がかかり,途中タイムアウトすることが多く,ログインパスワードが不明になってしまう。
  また,作成されたように見えても,一覧にIPアドレスが表示されるまでは,作成が終わっていない。
4 仮想サーバーの一覧にローカルIPアドレスが表示されているので,クリックして,新規グローバルIPアドレスを取得。
  その後,スタティックNATを設定すると,このグローバルIPで接続できる。 

このALTUSポータルとは別に、コンソールというインターフェースがある。
ALTUSポータルと同じようなことができるが、パスワードのリセット、グローバルIPアドレスの削除、仮想サーバーへの直接アクセスなど、こちらでしかできない。
メニュー、Basic、コンソールを選択すると、別ウインドウでコンソールが開く。
左カラムで、仮想サーバーを選択すると、クイックビューに操作項目が表示される。
パスワードが不明な場合は、まず、仮想サーバーを停止し、次にパスワードリセットする。
成功するとパスワードが表示されるので,仮想サーバをーを再起動させ,外部からSSH接続で,ログインする。

付属のコンソールの表示で、仮想サーバーに直接接続できるが、なぜかkeyboardの入力落ちがおこるようで、ログインが成功しない。
セキュリティグループで,ポート22/TCPの受信を開いて,SSH経由で接続したほうがよい。
取り合えず、最初の2週間は無料のようなので、SSH接続でUbuntu 16.04 LTSを試してみた。
最近は,Arch Linuxを使っていたので,ひさびさのDebian系になった。

2018年7月7日にAltusシステムのバージョンアップがあり,少し良くなったような気もするが,あいかわらずだめ。
仮想サーバーの初期化をしてもしても,成功せず。サーバの削除も数回繰り返してやっと成功。
仮想サーバーを再度作成しても,なかなかうまくいかず,タイムアウトの繰り返し。
今後に期待したい。
良い点は,メールによるお問い合わせの対応は早いことと,ミニサーバーが安いこと。
ミニサーバーの唯一の制限は,帯域が3Mbpsであることか。

SSH接続で問題なく使えるが、少し時間が空くと切れてします。
ホスト側は、/etc/ssh/sshd_configで、ClientAliveIntervalとClientAliveCountMaxを設定すればよさそうだが、今回クライアント側で対応。
Windowsは、rloginを使っているので、rloginを設定変更し、オプションのサーバー、プロトコル、SSH、KeepAliveパケットの送信間隔を120secにしてみた。
Linuxは、sshのクライアントの設定ファイル/etc/ssh/ssh_configを変更した。

Host *
ServerAliveInterval 120
# ServerAliveCountMax 3

rloginを使うと、ファイルのアップロードが、SFTPで簡単にできるので、とても便利。初期設定も、ヘルプ、プライベートプロファイル作成を選ぶと、Rlogin.iniを作成してくれる。

rloginで、文字コードの設定をUTF-8ではなく、間違ってEUCにしていると、manなどの画面コントロール時に、DCS(Device Control Sequence)になり、フリーズ状態になる。
原因がわかるまで、悩んだ。

# cat /etc/shadow
# passwd -S root
rootにはパスワードが設定されておらず、ロックされている。

ConoHa VPS 512MB プランのArch Linuxと比較したが、暗号計算速度は、ConoHaがかなり優れている。
# openssl speed -evp chacha20
Altus ubuntu 18.04では、
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
chacha20 196479.12k 334435.04k 745510.44k 791923.37k 809588.78k 807791.27k
ConoHa Arch linux 4.20.4では、
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
chacha20 242153.79k 444365.44k 999597.44k 2059277.01k 2133522.84k 2138314.75k
税抜き500円と630円の違いかな。



Asteriskでブラステルの留守番電話

Asteriskで050 Freeに留守電を付ける(http://www.majishini.net/wp/?p=1019)を参考にしたが、うまくいかないので、試行錯誤。
ウェブでは、情報が新旧ごちゃごちゃでよくわからん。
今回の試用は、GMOクラウドのAltus Basicでubuntu 18.04の, Asterisk 13.18.3。
# cd /etc/asterisk
# mv asterisk.conf asterisk.conf.save
# vi asterisk.conf
langageprefex = yesをコメントアウト
defaultlanguage = enをjaに変更して、コメントアウト

# mv sip.conf sip.conf.save
# vi sip.conf
[general]
allowguest=no
disallow=all
allow=ulaw
allow=gsm
localnet=xxx.xxx.xxx.0/21; Altus クラウドのスタティックNATのため
externaddr=xxx.xxx.xxx.xxx
nat=auto_force_rport,auto_comedia
; Register
register => userid:password@softphone.spc.brastel.ne.jp/bbb
[brastel]
type=peer
context=brastel
host=softphone.spc.brastel.ne.jp

着信だけなので、registerしておくと、セクションの設定では、ユーザIDやパスワードの記載は不要。
canreinviteは、directmediaに変わっている。

# mv extentions.conf extentionsconf.save
# vi extensions.conf
[brastel]
exten => bbb,1,Ringing()
same => n,Wait(30)
same => n,Set(vmbox=taro)
same => n,Goto(200,entry)
same => n,Hangup()
exten => 200,1,Ringing()
same => n,Set(vmbox=test)
same => n(entry),Answer(500)
same => n,Voicemail(${num})
same => n,Hangup()
Gotoで本体と分けると、テストや複数回線に便利。
Asnswerは必要ないが、ウエイト付で入れたほうが、vm音声の出だしがスムース。
この例では、Voicemailの番号が数字ではないので、電話では操作できない。音声ファイルは定期的に削除する必要がある。

# vm voicemail.conf voicemail.conf.save
# vi voicemail.conf
[general]
format=wav49
serveremail=asterisk
attach=yes
maxmsg=9999
maxsecs=300
maxsilence=10
silencethreshhold=128

[default]
test => 1234,test , test@domain.com ,,tz=japan
taro => 1234,taro , taro@domain.com ,,tz=japan
空フィールドは、添付なしのショートメールのあて先

# systemctl restart asterisk
# asterisk -V ; バージョン表示。
# asterisk -rvvv
> sip show registry
> rtp set debug on
> quit
電話に出ないと、asteriskが留守番電話対応し、メールする。
/var/spool/asterisk/voicemail/default/*/INBOXにヴォイスメールファイルができる。

電話をかけて確認したとき、RTPがプライベートIPに送信して、音声が通じないことがある。
NATのトラブルだが、ブラステルのサーバ設定の問題なので、
https://www.brastel.com/eng/myaccountでマイアカウントにログインして、パスワードをリセットする。
asteriskの応答に成功しても、電話の通信がうまくいかないこともある。
エコーバックテストは、ブラステルの050-6868-0000。

Postfixでメールサーバ

Altus Basicのミニサーバーでメールを使う設定。
ます、DNSのお名前.comで、DNS関連機能の設定をする。
Aレコードに、mail.domain.comを設定。
domain.comのMXレコードに、mail.domain.comを設定。

ubuntu 16.04のPostfixをインストール。
apt install postfix
設定画面では、インターネットサイトを選択。
メール名は、domain.comを設定。
vi /etc/postfix/main.cfで、myhosyname=mail.domain.comを設定。
service postfix restart
メールアドレス用にadminをエリアスに設定する。
vi /etc/aliases

postmaster: root
admin: cloud

postalias /etc/aliases
newaliases
Altusのセキュリティグループで、受信設定で、TCP port 25をあける。
これで、admin@domain.comのアドレスが完成。
postfixの設定確認は、postconf -n

ポート25の受信を開けなくても、送信はできる。

mailxは、3種類ある。昔ながらのbsd-mailxは、MIMEに対応していないので、添付ファイルの取り扱いに何がある。
GNU mailxutilsとheirloom-mailxのどちらがよいかわからないが、流れはheirloom-mailxのようだ。
apt install heirloom-mailx
実体はs-nailがインストールされる。
ubuntu 18.04では、heirloom-mailxはなくなって、s-nailになっている。
# apt install s-nail
# alias mail=s-nail
これで、普通に使える。
サブコマンドは、hでヘッダーの一覧、dn-mでn番からm番まで削除。
懐かしい。

VNCで遠隔操作

GMOクラウドのAltus BasicのMiniサーバはメモリが512MBしかない。
それでも、VPSのGUIを使いたいので、ubuntu 18.04 LTSのXfce4でチャレンジ。
# apt install xfec4 xfce4-goodies
# apt install vnc4server
# vncpasswd ; 設定しなければ初回起動時に入力。
# vncserver 1:
# vncserver -kill 1:
# echo “startxfce4” & > .vnc/xstartup
# vncserver -geometry 1280×1024
defaultは、-geometry 1024×768 -depth 16なので、少し画面が小さすぎる。

windows側に、VNC Viewerをインストールして、 IP:5901でアクセス。
まずは、Real VNCのVNC viewer 6.19.10をインストールした。
暗号化されていない旨の警告が出るのとinformationが便利だったが、再描画に問題が起こって画面が乱れる。
UltraVNC viewer 1.2.2.3に変更したら問題なし。

X11Forwardより、レスポンスがかなり早い。
firefoxが実用になる。
画面の確認は、xrandrでできる。
パスワードは8文字しか認識しないので、このままでは問題。
rootではvncserverを起動しないほうが安全。
使用後は、psで起動しているディスプレイ番号を確認したら、終了させておく。
# ps aux | grep -i vnc
# vncserver -kill :1
起動したユーザでないと終了させれない。

SSH tunnelを使うと通信が暗号化できる。
windowsで使っているrloginでも設定可能。
サーバ情報で、ssh接続情報を入力。
プロトコル、ポートフォワード、新規を選択。
Listened (Local, localhost, local_port), Connect (remote_ip, vnc_port)
rloginで接続後にvncserverを起動し、
localでUltraVNC viewerを起動して、localhost::port_numに接続する。
local_portは8080、vnc_portは5901など。

このままだと、元のvncポートでも直接アクセスできるので、firewallで禁止しておく。Altusの場合、ssh tunnel経由は、localhostではなく、グローバルIPからきているので、許可したのちに、外部IPからのアクセスを禁止しておく。
# iptables -A INPUT -p tcp –dport vnc_port -s global_ip -j ACCEPT
# iptables -A INPUT -p tcp -ddport vnc_port -j DROP
iptablesの設定保存のためには、iptables-persistentをインストする必要があるので、ufw (Uncomplicated Firewall)を使ったほうが便利。
# apt install ufw; 0.35
ipv4とipv6のルールを同時にセットしてくれる。実際は、iptablesのルールにufw-*のチェインが追加されるので、iptables -nvL –lineで確認できる。
ufwがenableであれば、以下で、ルールが確認できる。
# ufw status
# ufw show user-rules; ルールが確認できる。
disableのときは、以下で確認する。
# ufw show added
# ufw show listening
# more /etc/ufw/user{,6}.rules; 直接起動時ルールを確認することもできる。
/etc/default/ufwで、IPV6=noにすれば、IPv4のみになる。
# vi /etc/ufw/applications.d/custom
[vnc-server]
titiles=xx
descriptions=xx
ports=vnc_port/tcp
# ufw from ip_address to any app vnc-server
アプリを設定していると、ポート変更をするときに、profileの変更だけですむので、便利。
# ufw app update all
ip_addressにdomain nameが使えないのが残念。

sshのX11Forward

VPSで、X11のアプリ使うため、X11のforwardを試行。
サーバー/クライアントが錯綜してややこしいので、最初に整理。
remote machine: VPS: sshd: X11 client: ubuntu 18.04
local machine: Think Pad: X11 server: Arch Linux

remote:
/etc/ssh/sshd_config
X11Forwarding yes
X11UseLocalHost no
X11DisplayOffset 10はdefautなので設定の必要はない。
設定を変更したら、service sshd restartで再起動しておく。
# sshd -Tで設定が確認できる。
remote側では、デスクトップをインストールする必要はないが、X11のインストールが必要。その際に、xauthはインストールされているはず。
xclockやxeyesでテストするためには、apt install x11-appsでインストールしておく。

local:
/etc/ssh/ssh_config
local側の準備は不要で、ForwardAgent, ForwardX11, ForwardX11Trustedはいずれもyesである必要はない。ForwadX11Trusted noの時は、20分でタイムアウトするので、ForwardX11Timeoutを設定した方がよいかも。起動時の-oオプションで設定ができる。
ForwardX11 yesで起動時の-Xオプションを省略できる。
Compression yesで通信を圧縮できるが、起動時の-Cオプションと同じ。
ForwardX11Trusted yesは、起動時の-Yオプションと同じ。

X11を起動した後に、terminalから、ssh接続する。
# ssh -v -X user@domain.com
-vオプションをつけて接続すると、ログオン後に
debug1: Requesting X11 forwarding with authentication spoofing.
が表示されて、動作が確認できる。
# echo $DISPLAY
# xauth list
# ssh -4Y user@server.com
-Cオプションで圧縮しても、速度にかわりは感じない。
# ssh -Q cipherで利用できる暗号アルゴリズムを表示できるが、defaultは、chacha20-poly1305のようなので、aes-128-cbcよりも早い。
# openssl speed -evp chacha20 aes
remote側がrootの場合は、/root/.Xauthorityがないため、X11Forwardingがエラーになる。
X11 connection rejected because of wrong authentication.
一般ユーザから、マージして/root/.Xauthorityを作成する。
# xauth merge /home/username/.Xauthority

軽量のグラフィック・ブラウザをいろいろ試してみる。
ubuntu 18.04は、firefox, arora, chromium-browser , dillo, epiphany-browser, falkon, hv3, konqueror, surf
他のディストリでは、netsurf, min, midori, seamonkeyなどがある

firefox、遅すぎて実用にならず
arora、遅すぎて、表示できない
chromium-browser、遅すぎてタイムアウト
epiphany-browser、遅すぎて実用にならない
falkon、遅すぎて表示できない
hv3、エラーで表示できない
konqueror、遅すぎて表示できない

まずは、dillo
# apt install dillo
個人設定ファイルを作成。
# cp /etc/dillo/dillorc ~/.dillo
# cp /etc/dillo/keysrc ~/.dillo
# cp /etc/dillo/domainrc ~/.dillo
そのままでは日本語が使えないので、
# apt install fonts-ipafont
# fc-list : family; フォントを確認
# vi dillorc; fonts_*を4箇所を”IPAゴシック”に変更する。
vi cookiesrc; 最初の行を、DEFAULT ACCEPTに変更
# dillo www.yahoo.co.jp; で確認。
Javascriptが使用できないことが残念だが、何とか試用できる程度に動くので感激。
# dillo www.yahoo.co.jp

次に、surf。http://surf.suckless.org/
# apt instrall surf
# touch ~/.surf/styles/default.css
# surf www.yahoo.co.jp
遅いが、なんとか使える。ページロードの%が表示されるので便利。
# apt install suckless-tools; dmenuがインストールするとCTRL+gでURL入力が出来る。

min。
ローカルで、https://minbrowser.github.io/min/から、debをダウンロードし、sftpでリモートに転送して、インストールする。
# sftp user@remote.com
sftp> lcd Downloads
sftp> lls
sftp> put min_1.8.1_amd64.deb
sftp> quit
# ssh user@remote.com
# dpkg -i min_1.8.1_amd64.deb
インストールできなかったので、dependenciesを修復
# apt –fix-broken install
遅すぎて実用にならず、残念。
# apt remove min
# apt autoremove

netsurf。
バイナリ・パッケージは古いので、ソースからコンパイルが必要。
http://www.netsurf-browser.org/から、netsurf-all-3.8.tar.gzをダウンロードしてもよいが、専用のスクリプトがある。
手順は、quick-start.mdに記載のとおり。
# apt install wget
# wget https://git.netsurf-browser.org/netsurf.git/plain/docs/env.sh
# unset HOST
# source env.sh
ns-pakage-installはうまくいかないので、手動で必要なパッケージをインストール。
# apt install make gcc bison flex pkg-config libexpat1-dev gperf libcurl-openssl libpng-dev libgtk2.0-dev libhtml-parser-perl libjpeg-dev libcurl4-openssl-dev libssl-dev
# ns-clone
# ns-pull-install
# cd ~/dev-netsurf/workspace
# source env.sh
# cd netsurf
# make
# make install
# cd ../inst-x86_64-linux-gun
# cp -av bin/netsurf-gtk /usr/bin
# cp -av share/netsurf /usr/share
# netsurf-gtk www.yahoo.co.jp
遅いがなんとか使用できる。レスポンスは一番よい。
javascriptは、オフになっているので、Edit . Preference . Contetで、Enable
High Quality ImageとAnimationもオフにした。
Javascriptを有効にしても、ほとんどの場合は、実際に動作するわけではないので、Google Mapも表示できない。
file///file.html で、ローカルのファイル表示に使えば便利。

libcurl.so.4: version `CURL_OPENSSL_3′ not foundが表示された場合は、libcurl3でコンパイルされているので、libcurl4-openssl-devをインストールし直して、再コンパイル。

Unable to locate theme engine in module_path: “pixmap” が表示される場合は、gtk2-engines-pixbufをインストール。