NginxでGETパラメーターを使ってbasic認証の条件分岐

  location ~* /wp-login\.php|/wp-admin/.*\.php$ {
    set $auth_basic "INPUT ID & PASSWORD";
    if ($arg_action = 'postpass') {
      set $auth_basic off;
    }
    auth_basic $auth_basic;
    auth_basic_user_file /etc/nginx/conf.d/htpasswd;

    fastcgi_pass   unix:/run/php/php7.4-fpm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
  }

UbuntuでのVPN(L2TP/IPsec)サーバの設定メモ

ここの自分用メモ

apt-get install strongswan xl2tpd

/etc/xl2tpd/xl2tpd.conf

[lns default]
ip range = 192.168.11.128-192.168.11.254
local ip = 192.168.11.99
pppoptfile=/etc/ppp/options.l2tpd

/etc/ppp/options.l2tpd

ms-dns  8.8.8.8
mtu 1358
mru 1358
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
name xl2tpd

この2ファイルはpermission 644

cat /etc/ppp/chap-secrets
"user"  xl2tpd  "password"  *
cat /etc/ipsec.secrets
: PSK "secret"

/etc/ipsec.conf

config setup
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10

conn L2TP-PSK-NAT
dpddelay=10
dpdtimeout=20
dpdaction=clear
rightsubnet=0.0.0.0/0
also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=1h
type=transport
left=%defaultroute
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
ike=aes256-sha1-modp1024
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
ufwでport 1701 4500 500 許可

サーバ再起動

systemctl restart strongswan
systemctl restart xl2tpd

UbuntuにOpenVPNを構築しWindowsとAndroidから接続

Server

参考
Qiita

$  cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"

install

openvpn install

$ sudo apt  install openvpn

easy-rsaのclone

$ git clone https://github.com/OpenVPN/easy-rsa.git

サーバー用秘密鍵の作成は上記参考
鍵の有効期限を伸ばしておく

./easy-rsa/easyrsa3/easyrsa
#set_var EASYRSA_CRL_DAYS           180
set_var EASYRSA_CRL_DAYS           3650

config

$ cat /etc/openvpn/server.conf
port   1194
proto  udp
dev    tun

ca          ca.crt
cert        server.crt
key         server.key
dh          dh.pem
crl-verify  crl.pem

ifconfig-pool-persist ipp.txt

server 10.8.0.0 255.255.255.0

push "redirect-gateway def1 bypass-dhcp"
push "route 10.8.0.0 255.255.255.0"
push "dhcp-option DNS 8.8.8.8"

client-to-client
keepalive 10 120
comp-lzo

user  nobody
group nogroup

persist-key
persist-tun

status      /var/log/openvpn-status.log
log         /var/log/openvpn.log
log-append  /var/log/openvpn.log

verb 3
$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
1194/udp                   ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
1194/udp (v6)              ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

client

クライアント用秘密鍵の作成は上記参考

クライアントで必要なのは以下3ファイル
CA証明書 :ca.crt
pki証明書:[ユーザー名].crt
pki秘密鍵:[ユーザー名].key

Windows

クライアントソフト
vpnux

Android

qiita
クライアントソフト
OpenVPN for Android
注意点

  • 基本設定:[種別]は[証明書]を選択してください。(初期状態は[Androidの証明書管理]となっています)
  • IPとDNS:[設定情報を取得する]をON
  • 認証/暗号化:[証明書のホスト名を確認する]をOFF

UbuntuにSkypeをインストールする方法

本編に入る前にいくつか失敗したパターン
古いバージョンのskypeをインストール

グループチャットが使えない
web版のskypeを使う

メッセージが受信できないことが頻繁に起こる
chromebookを使っていたのでandroidアプリを使う

動作が安定せずに起動しなくなる

ということでlinux用skypeの新規バージョンのalpha版が公開されたのでそれを使う
Skype for Linux Alpha

Download Skype for Linux Alpha DEB

今までの苦労が嘘のように快適にskypeが使えている

Gnome端末の日本語表示で記号の幅を全角にする(Ubuntu 14.10用)。

Ubuntu 15.04では、プロファイル設定の「互換性」タブで設定できるので不要。この方法は機能しない。

このファイルを、~/.local/share/applications以下に、○○.desktopなどという名前で置き、実行権限をつける。
Nautilus(ファイルブラウザ)から、このファイルを開く。
端末が開いてランチャにアイコンが現れるので、アイコンを右クリック→「Launcherに登録」をクリック。
vimではまた別の問題があるので、.vimrcの中で「set ambiwidth=double」も必要。

cjk-terminal.desktop

[Desktop Entry]
Name=CJK Terminal
Comment=CJK Terminal
TryExec=gnome-terminal
Exec=env VTE_CJK_WIDTH=1 gnome-terminal --disable-factory
Icon=utilities-terminal
Type=Application
Categories=GNOME;GTK;Utility;TerminalEmulator;
StartupNotify=true
OnlyShowIn=GNOME;Unity;
Keywords=Run;
Actions=New
X-Ubuntu-Gettext-Domain=gnome-terminal

[Desktop Action New]
Name=New Terminal
Exec=env VTE_CJK_WIDTH=1 gnome-terminal --disable-factory
OnlyShowIn=Unity

ここから丸写し
https://gist.github.com/sgk/5991138