平衡点
2015/10/04
_ gcontacts-get-wl 更新
元ネタにしている gcontacts-get が更新されていたので, ひっそり更新 (古い) Password での認証が動かなくなっていたので oauth2 必須にしました.
2015/10/15
_ console と GDM3 の keymap
GNOME3.18 が着々と unstable に upload されつつあるわけで, 手元の laptop もほぼ GNOME 3.18 になりました.
昨日あたりに laptop の再起動をしたら, GDM からログインできなくなってしまいました.
じたばたすることしばし. keyboard layout が US 配列として動作していた, というオチでした. Ctrl+Alt+F1 でコンソールに移動したら, そっちも US 配列.
んー?
console でのキーボード配列の設定
Google 先生あたりに聞くと, (systemd だと)
- 「/etc/vconsole.conf に設定を書く」
- 「localectl list-keymaps を唱えよ」
とか出てくるかと思いますが.
Debian の場合は今迄通り,
% sudo dpkg-reconfigure keyboard-configuration
で適宜設定しておきましょう(もしくは, /etc/default/keyboard を変更).
結局, 多分 systemd 調べる際に作成した /etc/vconsole.conf が残っていたので, これが悪さをしていたみたいでした. コンソールの配列が US 配列になってしまうのは, これで解決
Graphical Desktop 環境でのキーボード配列
GDM からログインした後は setxkbmap jp なり, xmodmap なりを唱えれば良いわけですが, GDM でログイン時に US 配列になっているのは何故だろうか, とじたばた.
結論から言うと GDM が wayland を起動していました.
- GDM は wayland で起動
- GDM で認証後に, X の gnome-session が起動
という状況.
試しに /etc/gdm3/daemon.conf の
[daemon] # Uncoment the line below to force the login screen to use Xorg WaylandEnable=false
を有効にして GDM を再起動したら, キーボード配列も正しく日本語配列となりました.
と, いうわけで.
特に設定変更していないので, 恐らく(動きそうなのであれば) Wayland を使う, というのが GNOME の方針なのかなぁ. だとすると, GDM を Wayland で動かす際 のキーボード配列はどうやって設定するのかしら. 元々 Debian には /etc/default/keyboard がある訳で, これを良い様に読み込む(or 適切な設定ファイルへ変換する)のが良いと思うわけですが.
…そもそも Wayland 環境のキーボード配列を global に変更するにはどうしたら良いの?
あ, GNOME3.18 の使用感については特に.
どんどんスッキリとしていくので, 良い感じですね.
Terminal がアレなのは相変わらずですが. .
2015/10/24
_ OpenBlocks AX3
昨年度末に買ったは良いが、まったく触れていなかった OpenBlocks AX3 にようやく火を入れた. 購入したのは「OpenBlocks AX3 イーサ4ポート J パッケージ」.
初期状態で起動し, シリアルコンソールで接続してみると, ほぼ「素」の Wheezy環境. 公式ドキュメントにある通り,
- / は 128MB の RAM ディスク(initrd)
- /.rw を 384MB の RAMディスク(tmpfs) として確保し,
/etc,/user 等をこの下に作成
- Unionfs で /.rw/user 等を /usr に被せている
flashcfg で RAM ディスク(initrd)は上書き可能なので, 必要な設定をしたら initrd を更新しておき, システムは read-only で運用する, などとするのが良いのだろう.
想定している用途は「4 つある Gigabit Ethernet を使っての, 居室内のルーティングと職場 LAN 環境のモニタリング」であるわけだが, ちょっと設定したら, すぐに 384MB 使い切ってしまったので, そのうちメモリとディスクを追加すると思う.
_ 複数 NIC が存在する場合のルーティング
最近弄ってなかったから忘れてしまっていたので, メモ.
HW
- HW: Openblocks AX3
- OS: Debian 7.9 (wheezy)
ネットワーク環境
OpenBlocks AX3 をルータに.
- eth0: global IP
- eth1: 内部 LAN, 固定 IP
- eth2: 居室 LAN, 固定 IP
図にすると以下の様な感じ, かな?
+--------+ | | +----------内部LAN1---+gateway1+---内部LAN2,3,... | | | +------+-------+ +--------+ | eth1 | +--------+ | | | | 居室LAN---+eth2 eth0+----+gateway0+---------The Internet | | | | | eth3 | +--------+ +------+-------+
AA ちゃんと出るのかしら? 駄目か.
やりたい事
- 居室LAN内の計算機は eth2 から IP Masquarade で eth0 を経由して外へ出る
- ただし, 内部LANへの接続の際には eth1 を経由する.
- 内部LAN には VLAN 間通信が設定されているので, 内部LAN2, LAN3 への接続の際には LAN1 の gateway を経由して接続する
ルーティング
- 先ず, eth0 は通常通りに設定する.
- 次に eth1, eth2 に関しては gateway に関する設定行を書かない.
この時点で eth0, eth1, eth2 の機材との疎通を確認しておくと良い.
% route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 [gateway0] UG 0 0 0 eth0 [内部LAN1] 0.0.0.0 255.255.255.0 U 0 0 0 eth2 [グローバルIP] 0.0.0.0 255.255.255.0 U 0 0 0 eth0 [居室LAN] 0.0.0.0 255.255.255.0 U 0 0 0 eth1
といった塩梅.
最後に route を追加: 内部LAN2,3 の gateway として [gateway1] を指定してやれば良い
% route add -net [内部LAN2] netmask 255.255.255.0 gw [gateway1] dev eth2 % route add -net [内部LAN3] netmask 255.255.255.0 gw [gateway1] dev eth2 % route add -net [内部LAN4] netmask 255.255.255.0 gw [gateway1] dev eth2
結果
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 [gateway0] UG 0 0 0 eth0 [内部LAN1] 0.0.0.0 255.255.255.0 U 0 0 0 eth2 [内部LAN2] [gateway1] 255.255.255.0 U 0 0 0 eth2 [内部LAN3] [gateway1] 255.255.255.0 U 0 0 0 eth2 [グローバルIP] 0.0.0.0 255.255.255.0 U 0 0 0 eth0 [居室LAN] 0.0.0.0 255.255.255.0 U 0 0 0 eth1
DNS
グローバル側, 内部LAN, 居室LANそれぞれの名前解決をどうするか, ということで安直なのは dnsmasq を使うこと.
/etc/resolv.conf は常に 127.0.0.1 を見るようにしておく.
nameserver 127.0.0.1 search [居室LANのドメイン]
/etc/dnsmasq.d/local.conf なんてファイルを作成して, 以下を書き込んでおく.
except-interface=eth0,eth2,eth3 listen-address=127.0.0.1,[eth1のIP] bind-interfaces dhcp-range=eth1,[居室LAN DHCP start],[居室LAN DHCP end],12h no-dhcp-interface=eth0,eth2,eth3 resolv-file=/etc/dnsmasq.resolv.conf strict-order server=/[内部LANドメイン]/[内部LANのDNS] server=/[内部LAN1逆引き]/[内部LANのDNS] server=/[内部LAN2逆引き]/[内部LANのDNS] server=/[内部LAN3逆引き]/[内部LANのDNS]
/etc/dnsmasq.resolv.conf にグローバル側の DNS を書いておく
nameserver [DNS1] nameserver [DNS2]
- /etc/hosts に居室LAN内の計算機をベタ書きしておく. DHCP レンジは使わないこと.
これによって
- DNS, DHCP の受け付けは 居室LAN (eth1) からのみ.
- 通常は global 側の DNS で名前解決:
- 指定したドメイン等に関しては内部LANのDNSを使う
となる. また, DHCP での接続も OK
NAT/IP forward
net.ip4.ip_forward=1 にして iptables で NAT テーブルを書くだけで良い. POSTROUTING をアドレスによってデバイス(eth0, eth2)に割り振る, というのが違いかな?
最近は適当に ip forward の設定を書いた後で, iptables-persisitent (jessie 以降は netfilter-persistent) を実行して, 起動時に有効になるようにしている.
まとめ?
居室にはいま(プリンタ等も含め) 15 台ぐらい計算機があって, わりと結構な量の通信があるのだけれど, 特に問題無く動いている模様.
とりあえず.
2015/10/26
_ Maple2015 のインストール
思ったより嵌ったのでメモ
インストール
- メディア読み込むと Linux ディレクトリがあるので, その下のインストーラを起動する
- 適宜, 質問に答える
- デフォルトのインストール先は /opt/maple2015
- ライセンス認証には(何故か)失敗する.
ライセンス認証
一度
% sudo chgrp staff -R /opt/maple2015 % sudo chmod g+w -R /opt/maple2015
等として, license ファイルが書き込める様にしておく.
その後, /opt/maple2015/bin/activation を実行して, 適宜認証
フォント設定
日本語ファントが認識されないので, 久々に豆腐が出た.
% cd /opt/maple2015/jre.X86_64_LINUX/lib % sudo ln -s /etc/java-7-openjdk/fontconfig.properties fontconfig.properties
としておいた. 単にファイルを作成するだけでも良い気もするが.
まとめ
とりあえず使えている.