home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

技術/Linux/Ubuntu/12.04/Server

技術/Linux/Ubuntu/12.04/Server

技術 / Linux / Ubuntu / 12.04 / Server
id: 1136 所有者: msakamoto-sf    作成日: 2013-01-06 14:24:49
カテゴリ: Linux Ubuntu 

Ubuntu 12.04 LTS Server のお勉強メモ。


サービス制御

chkconfig の代替

Ubuntu 12.04以降なら sysv-rc-conf or insserv を使う。sysv-rc-confのほうがchkconfigに似ている。

SysV管轄:

# sysv-rc-conf -list

Upstart管轄:

# ls /etc/init

ただし、Sysv管轄のように見えて実体はUpstartにリンクされてたりするので、以下のディレクトリの内容とその関連性に注意しておくこと。

/etc/init.d
/etc/init

ネットワークの設定

公式ガイド参照:

ネットワークアダプタがうまく行かない時の情報収集:

# cat /etc/network/interfaces
# env LANG=C ifconfig
# aptitude search network-manager | grep ^i
# sudo dhclient

参考: https://forums.ubuntulinux.jp/viewtopic.php?id=8555

インターフェイスの検出~"/etc/network/interfaces"への設定

インターフェイスの検出はudevがやってくれる。

/etc/udev/rules.d/70-persistent-net.rules

↑でNAME="eth0"とかNAME="eth1"とか入ってたら、それを

/etc/network/interfaces

に記載して、

ifup ethX

とかする。もしうまくup出来なかったら、もしかしたらマシンを再起動した方が良いかも。

"/etc/network/interfaces" については "man 5 interfaces" 参照。

とりあえずloopbackデバイス+DHCPのeth0設定だとこんな感じに。

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

ネットワークサービスの制御とUpstart周り

ネットワークサービス制御のUpstart設定:

/etc/init/networking.conf
/etc/init/network-interface.conf
/etc/init/network-interface-container.conf
/etc/init/network-interface-security.conf

SysVInit互換設定:

/etc/init.d/network-interface
/etc/init.d/network-interface-container
/etc/init.d/network-interface-security
※この3つは全部 /lib/init/upstart-job へのsymbolic link

↑周りは ifupdown パッケージが提供してました:

dpkg -L ifupdown

Upstart周りもうちょい詳しく。

  • /etc/init/networking.conf
    • "start on (local-filesystems and (stopped udevtrigger or container))" で ifup -a するだけのタスクジョブ。
  • /etc/init/network-interface.conf
    • net-device-addedイベントで開始される。"INTERFACE=xxxx"付きでstartとかするみたい。
    • "ifup --allow auto $INTERFACE"をpre-startしてる。
    • post-stopで "ifdown --allow auto $INTERFACE" してる。
    • "instance $INTERFACE" で"INTERFACE"ごとにインスタンス分けてる。

"network-interface" 動作中はこんな感じ。:

network-interface (eth0) start/running
network-interface (eth1) start/running
network-interface (lo) start/running
  • /etc/init/network-interface-container.conf
    • "workaround for missing events in container" とあり、よくわかんないけど"container"とかいうの?とかイベントのタイミングによって、loopbackデバイスのセットアップがずれちゃうみたいで、それを補正するためのworkarroundみたい。
    • 単にscriptで"initctl emit"してるだけなので、taskとして動作して終了。なのでシステム動作中は "network-interface-container stop/waiting" となってる。
  • /etc/init/network-interface-security.conf
    • ネットワーク系のジョブが起動するイベントをトリガに動作するジョブ。
    • pre-startで AppArmor で /etc/apparmor/init/network-interface-security/ の下の設定ファイルを処理する
    • "instance $JOB${INTERFACE:+/}${INTERFACE:-}" なので、動作中はインターフェイスごとにstart/runningとなる。
network-interface-security (networking) start/running
network-interface-security (network-interface/eth0) start/running
network-interface-security (network-interface/eth1) start/running
network-interface-security (network-interface/lo) start/running

ifupdownパッケージ自体では "/etc/apparmor/init/network-interface-security/" 以下のファイルは提供していない。

isc-dhcp-clientパッケージが

/etc/apparmor/init/network-interface-security/sbin.dhclient -> ../../apparmor.d/sbin.dhclient
/etc/apparmor.d/sbin.dhclient

の2ファイル(内1つはsymbolic link)を提供してる。内容的にはAppArmorでDHCP関連のセキュリティを設定してるっぽい。

Firewall(ufw)勉強メモ

公式ドキュメント

  • ufwパッケージの内容物一覧&manページ
    • "dpkg -L ufw"
    • "man 8 ufw"
    • "man 8 ufw-framework"

デフォルトは無効化されてる。

参考:

設定ファイル配置は "man 8 ufw-frameowrk" の "OVERVIEW" 参照。

ufwはiptablesを使いやすくするラッパーとして動作する。
ufwコマンドで色々操作した結果は、

/lib/ufw/
         user.rules
         user6.rules

に保存される。
その他、細かく調整したい場合は

/etc/default/ufw

とか

/etc/ufw/

の下の設定ファイルでいろいろ調整できるし、最終的にはiptables-restoreコマンドに食べさせる出力を生成するラッパーなので、iptablesのルールなども/etc/ufw/の下の".rules"ファイルでいろいろ調整できる。

例えば

ufw allow 22

とかすると、

/lib/ufw/user{6}.rules

が更新される。ので、再起動したあとも"ufw enable"しておけばちゃんと上記設定が反映された状態になってくれる。
(あんまり、実行したコマンドによる設定がどこに保存されるかわかりやすく書いてくれてなかったのでそこがわかんなかった。)

SSHでいろいろ試しても良いけど、"nc -l (port)" でUbuntu上で待ち受けさせといていろいろためしてみるとわかりやすい。

ufw enable

とか

ufw disable

とかすると、

/etc/ufw/ufw.conf

の中の

ENABLED=...

が"yes"とか"no"に自動的に切り替わる。

Samba設定

WindowsホストからUbuntuの仮想マシンに、大きめのファイルをまるっとコピーしたいときなどに便利。

ポイント:

  • global設定に "unix charset = UTF-8", "dos charset = CP932" を追加。
  • interfaces, bind 設定は弄らなくても良かった。(仮想マシン内からのアクセスだけを想定)
  • "security = share" でだれでもアクセスオッケーに。

あとは、共有用のディレクトリを用意して以下を追記

[Share]   # Windows側から見える名前
   path = /work/share
   writable = yes
   guest ok = yes
   guest only = yes
   create mode = 0777
   directory mode = 0777
   share modes = yes       # 複数人が同一ファイルに同時アクセス時に警告


プレーンテキスト形式でダウンロード
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2013-09-01 12:51:41
md5:6e2dfea3d99c1c4916a75cf383aedaa1
sha1:36e22c93d1b1a11d50638c98cdc16d23109ec7cf
コメント
コメントを投稿するにはログインして下さい。