ホーム
TOPへ
最終更新日:2006年 1月 8日
Index
● キーマップ変更(Caps Lock <=> 右Ctrl)
● カレントディレクトリに PATH を通す
● PC カードに差した無線 LAN を2つ目の Ethernet デバイスとして認識させる
● バックグラウンドでジョブを実行する
● IPC リソースを変更する
● ipchains を使用して IP マスカレードの設定を行う場合
● Netfilter(iptables)を使用して IP マスカレードの設定を行う場合
● よく参照するファイル/ディレクトリ
● サウンドカード認識
● grep の使用方法
● ssh 用設定
● 標準出力(stdout)・標準エラー出力(stderr)を画面に表示しながらかつログに取る
● ルーティング情報設定
● TCP の KeepAlive 設定を変更する
Contents
※以下は RedHat Linux 7.3(kernel 2.4.18-3)/Panasonic CF-M1ER での例
● キーマップ変更(Caps Lock <=> 右Ctrl)
1. キーマップを別名でコピー後展開
# cd /lib/kbd/keymaps/i386/qwerty/
# cp -p jp106.kmap.gz jp106_ctrl_caps.kmap.gz
# gzip -d jp106_ctrl_caps.kmap.gz
2. jp106_ctrl_caps.kmap を変更
# vi /lib/kbd/keymaps/i386/qwerty/jp106_ctrl_caps.kmap
で、
keycode 58 = Caps_Lock を Control に変更
keycode 97 = Control を Caps_Lock に変更
3. 圧縮後、キーテーブル選択
# gzip jp106_ctrl_caps.kmap
# /usr/sbin/kbdconfig
で、jp106_ctrl_caps を選択後、キーテーブル再起動
# /etc/init.d/keytable restart
4. X の設定変更
# vi /etc/X11/XF86Config-4
Option "XkbModel" "jp106" を "jp106_ctrl_caps" に変更
もしくは、
# Option "XkbOptions" "ctrl:nocaps" のコメント(#)をはずす
もしくは、
# Option "XkbDisable" のコメント(#)をはずす
この後、X を再起動
Indexに戻る
● カレントディレクトリに PATH を通す
# vi ~/.bash_profile
で、
PATH=$PATH:$HOME/bin
に :./ を加える
Indexに戻る
● PC カードに差した無線 LAN を2つ目の Ethernet デバイスとして認識させる
※以下の構成を想定しているので注意
eth0: 有線LAN(既に認識・動作確認済み)
eth1: 無線LAN
1. pcmcia-cs が入っているかどうか確認
# rpm -qa | grep pcmcia
で、
kernel-pcmcia-cs-3.1.27-18
のように表示されれば OK
2. /etc/pcmcia/config の記述確認
使用するカードの記述があるかどうかを確認、無ければ追加する(*1)
例1) MELCO WLI-PCM-L11 の場合
以下のような行が既に存在する
card "MELCO WLI-PCM-L11"
version "MELCO", "WLI-PCM-L11"
bind "orinoco_old_cs"
例2) I・O DATA WN-B11/CF の場合
該当するものが存在しないため、/etc/pcmcia/option.conf を作成して(*1)、
以下のように記述した(*2)
card "WNB11CF"
manfid 0x0004, 0x2003
bind "wvlan_cs"
(*1) /etc/pcmcia/config に記述されていない場合は、/etc/pcmcia/ 下に
(任意の名前).conf というファイルを作成すると、これが追加で読み込まれる
なお、config や、デフォルトでは config.opts も読み込まれるので、
これらに追加しても認識はされるが、アップデートによって消去される可能性が
あるため推奨されていないようである
(*2) 記述の無いPC/CFカードの場合は、とりあえずノートPCに挿入した状態で、
# cardctl ident
により、例えば
Socket 0:
product info: "IO DATA", "WNB11CF", "Version1.00", ""
manfid: 0x0004, 0x2003
function: 6 (network)
のような情報が得られるため、これを利用する。
bind "xxx" の xxx 部分はドライバ名(実際に対応しているかどうかは?)
とりあえず、無線LAN用のドライバとしては、
・orinoco_cs : Lucent / Intersil(PRISM2)両用?
・orinoco_old_cs: Lucent の古いチップ用?
・wvlan_cs : Lucent / Intersil(PRISM2)両用(PRISM2は機能限定)
等がある
3. modprobe(ローダブルモジュール高レベル管理)用定義ファイル編集
# vi /etc/module.conf
で、
probe eth1 orinoco_cs orinoco_old_cs wvlan_cs
を追加(modprobe で eth1 が指定されると、指定したドライバを順にサーチ)
4. ifcfg-eth1 を作成
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
で、
DEVICE='eth1'
BOOTPROTO='none'
# 【 DHCP の場合は BOOTPROTO='dhcp' 】
ONBOOT='no'
TYPE='Ethernet"
USERCTL='no'
# 【アドレスは自分のネットワークの設定に応じて変更のこと】
NETWORK='192.168.0.0'
BROADCAST='192.168.0.255'
IPADDR='192.168.0.11'
GATEWAY='192.168.0.1'
NETMASK='255.255.255.0'
のような記述をする
5. wireless.opts 編集
# vi /etc/pcmcia/wireless.opts
で、導入したカードの記述を確認し、編集する
*,*,*,XX:XX:XX:*) の XX には、該当カードの MAC アドレスの先頭3桁(ベンダID)を指定( | で区切れば複数指定可能)
INFO= → カード情報
ESSID= → ESSID :使用するアクセスポイントのESSID(SSID)("any"は任意のアクセスポイントを使用)
MODE= → 動作モード :"Managed"[インフラストラクチャ(Infrastructure)モード]/"Ad-Hoc"[アドホック(Ad hoc)モード]
RATE= → ビットレート:"auto" "1M" "11M" から選択
CHANNEL= → 使用チャネル:"1" "2" "3" ... ※ CHANNEL か FREQ のどちらかを使用
FREQ= → 使用周波数 :"2.422G" "2.46G" ...
KEY= → WEPキー :"off"(無効)/"xxxx-xxxx-xx"(16進数・10桁形式(40(64)bits))/"s:?????"(半角英数記号5桁)
例1) MELCO WLI-PCM-L11 の場合
# Lucent Wavelan IEEE (+ Orinoco, RoamAbout and ELSA)
# Melco/Buffalo Networks WLI-PCM-L11
# Note : wvlan_cs driver only, and version 1.0.4+ for encryption support
*,*,*,00:60:1D:*|*,*,*,00:02:2D:*)
INFO="Wavelan IEEE example (Lucent default settings)"
ESSID="any"
MODE="Managed"
RATE="auto"
KEY="s:paswd"
;;
例2) I・O DATA WN-B11/CF の場合
# IO DATA WN-B11/CF
# product info: "IO DATA", "WNB11CF", "Version1.00", ""
# manfid: 0x0004, 0x2003
# function: 6 (network)
*,*,*,00:E0:00:*)
INFO="IO DATA WN-B11/CF"
ESSID="WLANAP"
MODE="Managed"
RATE="11M auto"
KEY="off"
;;
6. PCMCIA サービス再起動
# service pcmcia restart
または
# /etc/rc.d/init.d/pcmcia restart
※このとき、
# tail -f /var/log/messages
で、動作を確認しながら行うとよい
この後、ping を打つなり、ifconfig 及び iwconfig で適切な内容が表示されるかどうかなりで動作を確認できる。
例) eth1(無線)を通して ping を打つ
# ping -I eth1 192.168.0.1
※ eth0(有線)を無効にして eth1(無線) を有効にしたいような場合は、
# ifdown eth0
# ifup eth1
のようにする
この場合、
# ifconfig
だけでは eth1 と lo のみが表示されるが、
# ifconfig -a
とすると eth0 も表示される
・ /etc/sysconfig/network を適切に設定しておく必要がある。
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME='foo.localdomain'
GATEWAY=192.168.0.1
GATEWAYDEV=eth0
USERCTL=yes
Indexに戻る
● バックグラウンドでジョブを実行する
1. バックグランドでジョブを起動
コマンドの後に & をつける
例)iPAQ への PPP 接続をバックグラウンドで実行する
# pppd call ipaq &
2. バックグラウンドジョブの表示
jobs コマンドを使用する
例)
# jobs
[1]+ Running pppd call ipaq &
3. バックグラウンドジョブをフォアグランドに切り替える
fg コマンドを使用する
例)
# fg %1
4. ジョブを停止する
Ctrl + Z を押す。
例) Ctrl + Z を押すと、
[1]+ Stopped pppd call ipaq
のように表示され、ジョブが停止する
5. 停止中のジョブをバックグラウンドで再開する。
bg コマンドを使用する
例)
# bg %1
[1]+ pppd call ipaq &
※ fg コマンドを使えば、フォアグラウンドで再開する
Indexに戻る
● IPC リソースを変更する
※現在の IPC リソース値は、ipcs -l で確認できる
・一時的に変更する場合
/proc/sys/kernel 以下のファイルを直接編集する。
共有メモリ
shmall : 合計共有メモリの最大値(4KB単位)
※ ipcs -l ではKB単位なので注意
shmmax : セグメントサイズの最大値(Byte単位)
※ ipcs -l ではKB単位なので注意
shmmni : セグメント数の最大値
セマフォ
sem : ファイル内には4つの数値が記述されている。
例) 250 32000 32 128
それぞれ左から、
・配列ごとの最大セマフォ数
・システム全体の最大セマフォ数
・semop 呼び出し毎の最大命令数
・最大配列数
を表す。
メッセージキュー
msgmax : 最大メッセージサイズ(Byte単位)
msgmnb : キューサイズ最大値の初期値(Byte単位)
msgmni : システム全体での最大キュー数
・PC 起動時に自動設定する場合
/etc/sysctl.conf を編集して、
kernel.(/proc/sys/kernel以下のファイル名) = (設定値)
のように追加/変更した後、システムを再起動する。
例) 最大メッセージキュー数を変更する場合
kernel.msgmni = 4096
Indexに戻る
● ipchains を使用して IP マスカレードの設定を行う場合
PC を IP マスカレード可能なルータとして使用する場合の、ipchains での
設定方法を示す。
※デフォルトでは IP パケットフィルタリングは ipchains を使用して行う
ようになっている( lokkit によるファイアウォールの設定は、ipchains
用である)。
もし iptables に切り替えて使用した後、再び ipchains に戻すような
場合には、以下のようにする。
# chkconfig --del iptables
# chkconfig --add ipchains
この後で、システムを再起動すると、ipchains を使用する設定になる。
1. IP パケットフォワーディングを有効にする。
・一時的な措置の場合
# echo "1" > /proc/sys/net/ipv4/ip_forward
・PC 起動時に自動設定する場合
/etc/sysctl.conf で、
net.ipv4.ip_forward = 0
となっている場合は、
net.ipv4.ip_forward = 1
のように変更する。
2. IP マスカレードの設定を行う。
以下に、
『特定のホスト(アドレス 192.168.1.0/24)から来たパケットを、
マスカレード処理する』
設定例を示す。
※ /24 はネットマスク(255.255.255.0)
# ipchains -P forward DENY
←デフォルトの転送(forward)チェインポリシーはDENY(破棄)とする
# ipchains -I input -s 192.168.1.0/24 -j ACCEPT
←192.168.1.* から来た全てのパケットを受け付ける
# ipchains -I forward -s 192.168.1.0/24 -j MASQ
←192.168.1.* から来た全てのパケットをマスカレード処理して
転送する
# service ipchains save
←設定を保存する(/etc/sysconfig/ipchains に保存される)
Indexに戻る
● Netfilter(iptables)を使用して IP マスカレードの設定を行う場合
PC を IP マスカレード可能なルータとして使用する場合の、Netfilter
(iptables)での設定方法を示す。
※デフォルトでは IP パケットフィルタリングは ipchains を使用して行う
ようになっている。
iptables に切り替える場合は、
# chkconfig --del ipchains
# chkconfig --add iptables
# cd /etc/sysconfig
# touch iptables
# chmod 700 iptables
この後で、システムを再起動すると、Netfilter を使用する設定になる。
なお、Netfilter は、デフォルトでは IP フィルタリングに関しては
1. IP パケットフォワーディングを有効にする。
※ipchains の場合と同じ手順で設定できる。
2. IP マスカレードの設定を行う。
以下に、
『特定のホスト(アドレス 192.168.1.0/24)から来たパケットを、
マスカレード処理する』
設定例を示す。
※ /24 はネットマスク(255.255.255.0)
# iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
←192.168.1.* から来た全てのパケットをマスカレード処理して
eth0(接続のたびにIPが変化する)から外部へ転送する
※送信元(eth0)が固定IP(例えば10.7.0.1)の場合には、
# iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT -to-source 10.7.0.1
のように指定したほうがよい。
# service iptables save
←設定を保存する(/etc/sysconfig/iptables に保存される)
Indexに戻る
● よく参照するファイル/ディレクトリ
・ポート番号一覧
/etc/services
・エラー番号
/usr/include/asm/errno.h
・PATH
(root 用標準)
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin
/usr/bin/X11
/usr/X11R6/bin
/root/bin
(後から追加したもの)
./ →カレント
/skiff/local/bin →ARM(iPAQ)用コンパイル環境
/usr/local/v6/bin →IPv6用ツール
Indexに戻る
● サウンドカード認識
/etc/modules.conf に、以下のような設定を付け加える。
alias sound-slot-0 nm256_audio
options nm256_audio force_load=1
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
※特に、options nm256_audio force_load=1 が無いと認識されない
Indexに戻る
● grep の使用方法
・ディレクトリを再帰的に検索する
[書式] grep -r --include=対象ファイルのパターン 検索文字列 *
例)
$ grep -r --include=*.[ch] --include=*.cpp serchstring *
※ カレントディレクトリ以下の *.c *.h *.cpp 中で、serchstring を含む行を表示
Indexに戻る
● ssh 用設定
・ディレクトリ
/etc/ssh
・sshd 用設定ファイル
# vi /etc/ssh/sshd_config
で、例えば
LoginGraceTime 600 # ログインタイムアウト設定
PermitRootLogin no # root ログイン許可設定
のように変更する。
Indexに戻る
● 標準出力(stdout)・標準エラー出力(stderr)を画面に表示しながらかつログに取る
・ "2>&1"(途中にスペースは入れないこと)を指定することにより、標準エラー
出力を標準出力にリダイレクトできる
※ちなみに "1>&2" は標準出力を標準エラー出力にリダイレクトする。
また、"tee"コマンドは、標準入力の内容を標準出力とファイルに同時に書き出せる。
よって、
例)
make 2>&1 | tee make.log
のようにすることで、make の結果出力された標準出力・標準エラー出力を
tee に渡して、画面に出力しながらログ(make.log)にも書き出すことが可能。
Indexに戻る
● ルーティング情報設定
・現在のルーティング情報を調べる
# route -A inet
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
Indexに戻る
● TCP の KeepAlive 設定を変更する
例えば SSH で接続している際に、すぐ通信が切れてしまうような場合の対策として使用できる。
※ なお、SSH の場合に KeepAlive を有効にするには、サーバ側の /etc/ssh/sshd_config で、
KeepAlive yes
の設定後、再起動(service sshd restart)する必要がある。
・一時的な変更
/proc/sys/net/ipv4/ にある、tcp_keepalive_* ファイルを変更する。
tcp_keepalive_time
最後のパケット交換から probe パケット送出までのアイドル時間(秒単位)
※デフォルト値: 7200
tcp_keepalive_intvl
probe パケット送出に応答がなかった場合の再送間隔(秒単位)
※デフォルト値: 75
tcp_keepalive_probes
probe パケット再送出回数上限(この後、通信を切断する)
※デフォルト値: 9
・PC 起動時に自動設定する場合
/etc/sysctl.conf を編集して、
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 60
のような記述をしておく。
Indexに戻る
ホーム
このページの先頭