自宅サーバ更新!(11)ネットワーク

ネットワークに関して、
net-toolsは過去のものになるらしい。

$ sudo yum list installed | grep net-tools
インストールされてない。
でも、やっぱり欲しい人は、

$ sudo yum install net-tools -y
これで、次のコマンドも可能。

$ ifconfig

でも、推奨は、iproute2

$ ip a
その他に、

$ route

は、

$ ip r

$ arp

は、

$ ip n

$netstat

は、

$ ss

覚えよう。
さて、次はNetworkManager。

$ nmtui
これを使えば、簡単なネットワークの設定が可能。

でも、コマンドラインでやりたいので、nmcliコマンドを使う。
まず、現状を見てみよう。
デバイスの一覧↓

$ nmcli d
デバイス  タイプ    状態                       接続
enp2s0    ethernet  接続済み                   enp2s0
virbr0    bridge    接続中(IP 設定を取得中)  virbr0
lo        loopback  管理無し                   —     
接続の一覧↓

$ nmcli c
名前    UUID                                  タイプ          デバイス
virbr0  123b742b-2123-4123-a123-93335efec123  bridge          virbr0
enp2s0  abcabcab-cabc-abca-bcab-abcabcabcabc  802-3-ethernet  enp2s0   

指定した接続の情報表示↓

$ nmcli c sh enp2s0
connection.id:                          enp2s0
connection.uuid:                        abcabcab-cabc-abca-bcab-abcabcabcabc
connection.interface-name:              —
connection.type:                        802-3-ethernet
connection.autoconnect:                 yes
connection.timestamp:                   1413228072
connection.read-only:                   no
connection.permissions:              
connection.zone:                        —
connection.master:                      —
connection.slave-type:                  —
connection.secondaries:              
connection.gateway-ping-timeout:        0
802-3-ethernet.port:                    —
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  —
802-3-ethernet.auto-negotiate:          yes
802-3-ethernet.mac-address:             AB:CD:EF:AB:CD:EF
802-3-ethernet.cloned-mac-address:      —
802-3-ethernet.mac-address-blacklist:
802-3-ethernet.mtu:                     自動
802-3-ethernet.s390-subchannels:      
802-3-ethernet.s390-nettype:            —
802-3-ethernet.s390-options:          
ipv4.method:                            manual
ipv4.dns:                               192.168.1.1
ipv4.dns-search:                        abc.sin-cos.com
ipv4.addresses:                         { ip = 192.168.1.11/24, gw = 192.168.1.1 }
ipv4.routes:                          
ipv4.ignore-auto-routes:                no
ipv4.ignore-auto-dns:                   no
ipv4.dhcp-client-id:                    —
ipv4.dhcp-send-hostname:                yes
ipv4.dhcp-hostname:                     —
ipv4.never-default:                     no
ipv4.may-fail:                          yes
ipv6.method:                            link-local
ipv6.dns:                            
ipv6.dns-search:                      
ipv6.addresses:                      
ipv6.routes:                          
ipv6.ignore-auto-routes:                no
ipv6.ignore-auto-dns:                   no
ipv6.never-default:                     no
ipv6.may-fail:                          yes
ipv6.ip6-privacy:                       -1 (不明)
ipv6.dhcp-hostname:                     —
GENERAL.名前:                           enp2s0
GENERAL.UUID:                           abcabcab-cabc-abca-bcab-abcabcabcabc
GENERAL.デバイス:                       enp2s0
GENERAL.状態:                           アクティベート済み
GENERAL.デフォルト:                     はい
GENERAL.デフォルト6:                    いいえ
GENERAL.VPN:                            いいえ
GENERAL.ゾーン:                         —
GENERAL.DBUS パス:                      /org/freedesktop/NetworkManager/ActiveConnection/0
GENERAL.CON パス:                       /org/freedesktop/NetworkManager/Settings/0
GENERAL.スペックオブジェクト:           —
GENERAL.マスターパス:                   —
IP4.アドレス[1]:                        ip = 192.168.1.11/24, gw = 192.168.1.1
IP4.DNS[1]:                             192.168.1.1
IP6.アドレス[1]:                        ip = abcd::abcd:abcd:abcd:abcd/64, gw = ::
指定した接続のON!↓

$ nmcli c u enp2s0

指定した接続のOFF!↓

$ nmcli c d enp2s0

何だかんだ、ダラダラ書いてみた。

自宅サーバ更新!(10)仮想サーバー

サーバーを買った第1の目的は、NASとして利用する事だったが、仮想サーバーにできる事を知ったので、そちらから。急がばまわれ。思い立ったが吉日。
まず、ハードが仮想サーバーに対応しているのか?次のコマンドでチェック!

$ egrep ‘(vmx|svm)’ /proc/cpuinfo
intel系CPUならvmx、AMD系CPUならsvmが、cpuinfoに含まれているらしい。
CPUが対応していても、BIOSで有効にしないといけないこともあるから注意。

KVMのインストール。多分入れすぎ。うむ。よう分からん。

$ sudo yum -y install qemu-kvm libvirt virt-install
qemu-kvmは、仮想サーバのメイン部分。だと思う。
libvirtは、その仮想マシンを制御するツール。だと思う。
virt-installは、仮想マシンにOSをインストールするためのツール。多分。
virt-viewerは、ウィンドウで仮想マシンを表示させるツールなので、自分に足枷をする覚悟で入れない。

virt-managerは、GUI用管理ツールだから、CUIで自分の成長を促すために入れない。
ってか、GUIは便利だけどハードの要求が高くなるから、貧乏人はCUIで。
とりあえずインストール完了。
では、実行!

$ sudo systemctl start libvirtd

自動実行の設定。

$ sudo systemctl enable libvirtd

インストールできるOSををリストアップ!

$ virt-install –os-variant list

まず、仮想マシンにインストールするためのISOイメージを作る。
次の例では、CentOS7のインストールメディアが入ったCD-ROM(DVD-ROM)からファイルにイメージを抽出している。

$ sudo dd if=/dev/cdrom of=/var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso

ってか、ダウンロードしたらいいんじゃない?
仮想マシン本体用のイメージファイルを生成。

$ sudo qemu-img create -f qcow2 /var/lib/libvirt/images/cent7test.img 10G

で、次のコマンドで、起動してみる。

$ sudo /usr/libexec/qemu-kvm -hda /var/lib/libvirt/images/cent7test.img -cdrom /var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso -vnc 0.0.0.0:5900 -boot d -m 1024

でも、起動してる間はシェルに戻ってこない。
なので、virt-installで、まずインストール

$ sudo virt-install –virt-type kvm –name cent7test –vcpus 1 –ram 1024  –disk path=/var/lib/libvirt/images/cent7test.img,size=10,sparse=true –network bridge=br0 –graphics vnc,listen=0.0.0.0,password=abc –noautoconsole –os-type=linux –os-variant=rhel7 –cdrom /var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso

でも、次のようなエラーが出たら、

cpu0 unhandled rdmsr: 0xc0010001
次のようにすれば行ける?

$ sudo virt-install –virt-type kvm –name cent7test –vcpus 1 –ram 1024  –disk path=/var/lib/libvirt/images/cent7test.img,size=10,sparse=true –network bridge=br0 –graphics vnc,listen=0.0.0.0,password=abc –os-type=linux –os-variant=rhel7 –location /var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso –extra-args=’console=tty0 console=ttyS0,115200n8 serial’

何だかんだ試してたら、メモが意味わからなくなった。

起動している仮想サーバのコンソールに接続するには、次!

$ sudo virsh -c qemu:///system console cent7gui

でも、CentOSのインストールだけはGUIでやりたい。

$ sudo virt-install –virt-type kvm –name cent7test –vcpus 1 –ram 1024 –disk path=/var/lib/libvirt/images/centos7test.img,size=10,sparse=true –graphics vnc,listen=0.0.0.0,password=abc –os-type=linux –os-variant=rhel7 –cdrom=/var/lib/libvirt/images/CentOS-7.0-1406-x86_64-DVD.iso

これでVNCで接続して操作できるよ。
あ、ファイアウォールに穴あけないと。
まず、今の状態を見て、

$ sudo firewall-cmd –list-all

永久的にVNC用のポートを開けて、

$ sudo firewall-cmd –permanent –add-port=5900/tcp

再起動!

$ sudo systemctl restart firewalld

そして、変更後の状態を見てみる

$ sudo firewall-cmd –list-all

これでVNCで接続して操作できるよ。

ポートは、次のコマンドで調べよう。
$ virsh vncdisplay cent7test
因みに、0って表示されたら5900。1なら5901ってことね。
制御するには、
仮想マシン一覧↓
$ sudo virsh -c qemu:///system list –all
仮想マシン起動↓
$ sudo virsh -c qemu:///system start cent7test
仮想マシン一時停止↓
$ sudo virsh -c qemu:///system suspend cent7test
仮想マシンシャットダウン↓
$ sudo virsh -c qemu:///system shutdown cent7test

仮想マシン強制終了↓
$ sudo virsh -c qemu:///system destroy cent7test

仮想マシン削除↓
$ sudo virsh -c qemu:///system undefine cent7test

仮想マシンを自動起動↓
$ sudo virsh autostart cent7test
仮想マシンの自動起動を解除↓

$ sudo virsh autostart –disable cent7test

なんかぐちゃぐちゃになったけど、そういうこと。

今どきのWindows タブレット

安くで買うなら、
「Lenovo Miix 2 8(Z3740/2G/64GB/Office H&B/8.0HD)59428524」
今なら注文確定時にクーポンコード「COOKL2KOFF」を入力すると、表示金額より2,000円OFF。5,000台限定、1/31(土)まで。

Windows8.1 32bit
Atom Z3740 1.33GHz
2GB
64GB
8.0型HD IPSパネル(800×1280ドット)マルチタッチパネル
Microsoft OffieH&B 2013
802.11 a/b/g/n
350g
1セル Li-Polymer 10時間
カメラ(前面200万、背面500万画素)

iOSなら、
「Apple iPad Air Wi-Fiモデル 64GB MD790J/A」

iOS
1024MB
64GB
9.7型(2048×1536ドット)

贅沢に、
「Surface Pro 3 64GB 4YM-00015」

Windows 8.1 Pro Update 64bit
Office Home and Business Premium
4GB
64GB
12型(2160×1440ドット)
800g

自宅サーバ更新!(9)webmin

やっぱり便利なwebminを入れておく。
まず、yumを使ってインストール&更新をしたいので、次のページの指示に従い作業を進める。
http://www.webmin.com/rpm.html
「Using the Webmin YUM repository」の部分を行う。

yumのレポジトリの設定は、次のコマンドでエディタを開いて、

$ sudo vi /etc/yum.repos.d/webmin.repo

次の内容をコピペする。

[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1
次に公開鍵をインストール

$ wget http://www.webmin.com/jcameron-key.asc
$ sudo rpm –import jcameron-key.asc
でも、ちょっと問題。

$ yum list installed | grep wget
うん。何も表示されない。wgetのインストールが必要。

$ sudo yum install wget
でも、次の一行でもいけるみたい。

$ sudo rpm –import http://www.webmin.com/jcameron-key.asc
後は、インストールして、

$ sudo yum -y install webmin
自動起動に設定して、

$ sudo chkconfig webmin on
起動!

$ sudo service webmin start
さて、次にFirewallの設定
次のコマンドで状況表示し、

$ sudo firewall-cmd –list-all
public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules: 

次のコマンドでポートを開いて、

$ sudo firewall-cmd –add-port=10000/tcp
再びチェック!

$ sudo firewall-cmd –list-all
public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh
  ports: 10000/tcp  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules: 

なるほど。ちょっと変わった。

これで他のPCから、つぎのURLでwebminに接続できるはず。
http://[サーバー]:10000/
最初はwebminユーザーが、rootしかないため、
Username「root」、Password「rootパスワード」でログイン。

ただ、Portが標準の10000だと、クラッキングされやすいので、
webminで、[Webmin] – [Webmin Configuration] – [Ports and Addresses]を開いて、
[Listen on IPs and ports] 「9999」←任意のポート番号
[Open new ports on firewall?]←チェックを入れても反映されないっぽい。
[Listen for broadcasts on UDP port] 「Don’t listen」を選択。

CUIからコマンドで同じことをすると、

$ sudo vi /etc/webmin/miniserv.conf

で、エディターを開いて、以下のように変更すべし!

port=9999
listen=

反映させるためには再起動。

$ sudo service webmin restart
Portを変えたら、Firewallの設定も変更しないと、いけませんね〜。

$ sudo firewall-cmd –permanent –add-port=9999/tcp

で、永久にポート追加。

$ sudo systemctl restart firewalld
で、Firewall再起動。
「–permanent」オプションを付けた場合は、これを行わないと反映されない。
逆に、付けないと、再起動したら変更が元に戻っちゃう。

変更後のPortで、webminにアクセス。
http://[サーバー]:9999/


Webminの自動更新を設定。

[Webmin] – [Webmin Configuration] – [Upgrade Webmin] – [Scheduled update]
で、次のように変更。
[Scheduled updating currently enabled] 「Yes」
[Only report when an update is done] 「Checked」
[Email update report to] 「root」

あとは、webminとの通信を暗号化したい!
[Webmin] – [Webmin Configuration] – [SSL Encryption]
ん?何か足りない?
で、[download and install]をクリック

設定項目が出てきたら、
[Enable SSL if available?] Yes
[Redirect non-SSL requests to SSL mode?] Yes

以上!