2008/06/22

vncseverの設定

一台、遊び用マシンができた。
とはいえディスプレイは足りないので、遅いとは知りつつも、VNCサーバ運用しようかと。
※以下は Fedora9@i386

インストールは簡単♪

# yum install vnc-server

以前も設定に迷った記憶が…

↓ここ見て設定
http://www.dream-seed.com/pukiwiki/index.php?Linux%2FVNC%A4%CE%C0%DF%C4%EA

$ mkdir .vnc
$ cp -a /etc/X11/xinit/xinitrc ~/.vnc/xstartup

Xmodmapの修正

/etc/X11/xinit/Xmodmap.jpの最初の2行をコメントアウト。

#keycode 22 = BackSpace
#keycode 49 = Kanji

↓ここの「ユーザ毎にVNCを起動して利用する方法」を参考に設定
http://www.clip.gr.jp/~imai/PukiImaiWiki/index.php?Fedora%2FVNC%A4%CE%C0%DF%C4%EA%CA%FD%CB%A1

# vi /etc/sysconfig/vncservers
(個人設定のため設定値は割愛)

一般ユーザで、「vncpasswd」を使い、VNC用パスワード設定
$ vncpasswd


デーモン設定。

# chkconfig vncserver --level 35 on

ファイアウォール穴あけ設定
# vi /etc/sysconfig/iptables
以下設定を追加。
-A INPUT -m state --state NEW -m udp -p udp --dport 5900 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5901:5909 -j ACCEPT
(何人のユーザで動かすかわからないので、とりあえず9人分)

iptables 再起動
# service iptables restart

再起動、挙動確認。

…したけど、リモートの一般ユーザ用では、サウンドとかが動かせない上、クソ遅いw
スクリーン番号0指定して、そのマシンのスクリーンを乗っとれば、問題ないけど…

ディスプレイもう一個買うかあw

NFS設定でなにげにずるずるハマる

サブマシン側がメインマシンのファイルをまったく見えない状況では、なーんにも作業ができないので、nfsを設定。

まず、サーバON(サーバはデフォルトで入ってた)

# chkconfig --level 35 nfs on
# service nfs start

[/etc/exports]の編集。home以下は全晒しでいっかー
# vi /etc/exports
/home 192.168.1.0/255.255.255.0(rw)
※Lan内マシンのすべてに大公開
# service nfs restart


/etc/hosts.allow, hosts.deny を気にする。
※自身の設定は無問題でした。

iptables を気にする。
ファイアーウォールに穴をあける必要があります。
/etc/sysconfig/iptables に以下を追加。(左端のルール名は人によって違います)
# /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT

# service iptables restart

ここからは、クライアント側の設定。まず、mountしてテスト
# mount -t nfs 192.168.0.110:/home/ ./hoggeeee]
mount.nfs: internal error

あれ?おかしい。ポートが開いているかをテスト。(よゐこはnmapとか多用しちゃだめよ♪)

nmap -v -sT 192.168.1.110 -p 2049
PORT STATE SERVICE
2049/tcp open nfs
nmap -v -sT 192.168.1.110 -p 111
PORT STATE SERVICE
111/tcp open rpcbind

うーん、開いている。クライアントから詳細情報をだして、mountコマンドを発行してみる。
# mount -v -t nfs 192.168.1.130:/home ./fugeeeee/
mount.nfs: trying 192.168.1.130 prog 100003 vers 3 prot TCP port 2049
mount.nfs: trying 192.168.1.130 prog 100005 vers 3 prot UDP port 44408
mount.nfs: mount to NFS server '192.168.24.130' failed: timed out, retrying

何?ポート44408?調べてもそんなウェルノンポートないし…
と思ったら、ここに回答。
http://rewse.jp/fukugan/article.php?id=934

nfsは不定のポートを使う仕様らしい。設定ファイルを変更し、固定にする。
# vi /etc/sysconfig/nfs
STATD_PORT=11081
STATD_OUTGOING_PORT=11082
MOUNTD_PORT=11083
LOCKD_TCPPORT=11084
LOCKD_UDPPORT=11085
RQUOTAD=no
※なんかどこぞのウェルノンとかぶっている気もするけどキニシナイw

最終的に、/etc/sysconfig/iptables はこんな感じに。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 11000:11099 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 11000:11099 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT

mount でテスト

# mount -v -t nfs 192.168.1.110:/home ./user_name_home/
mount.nfs: timeout set for Sun Jun 22 16:36:01 2008
mount.nfs: text-based options: 'addr=192.168.1.110'
192.168.1.110:/home on /media/user_name_home type nfs (rw)

はぁ、やっとだw 疲れた…

起動時に接続するように。fstab設定。

# vi /etc/fstab
192.168.1.110:/home /media/user_name_home nfs soft,intr 0 0

再起動後、期待どおりの接続に♪やた。