linux備忘録

タイトルそのまま

LAN内にあるサーバにアクセス(WAN宛にきた要求をLAN内のPCに転送する)

2006-09-29 00:59:35 | linux
グローバルIP(eth0) : www.xxx.yyy.zzz
グローバルIPをもつPCのeth1に割り当てたIP : 192.168.0.1
LAN内のサーバに割り当てたIP : 192.168.1.1
グローバルIPでの受信ポート : 8080
LAN内のサーバでの受信ポート : 80

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.1 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -d www.xxx.yyy.zzz -j DNAT --to-destination 192.168.1.1:80
iptables -A FORWARD -i eth0 -o eth1 -p tcp -d 192.168.1.1 --dport 80 -j ACCEPT

■参考URL
Manpage of IPTABLES
外部から特定の内部サーバへのアクセスを許可

sambaの設定

2006-09-27 23:11:00 | ubuntu
サーバ : 192.168.0.1
クライアント : 192.168.1.1
だとする。

サーバ側の設定
sudo apt-get install samba smbfs
------------ /etc/samba/smb.confを作成 ------------
[global]
workgroup = SMBSRV
hosts allow = 192.168.1.1
unix charset = UTF-8
dos charset = UTF-8
display charset = UTF-8
security = share
writable = yes
browsable = yes
create mask = 0664
directory mask = 0775
public = yes
read only = no
[down]
comment = down folder
path = /var/www/down
; force group = www-data
[music]
comment = music folder
path = /var/music
---------------------------------------------------

iptablesでポートを開ける(クライアントとの通信にeth1を使う)
iptables -A INPUT -i eth1 -s 192.168.1.1 -p udp --dport 137:138 -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.1.1 -p tcp --dport 139 -j ACCEPT

testparm
/etc/init.d/samba restart
サーバ側の設定終わり

クライアント側の設定
windowsの場合
ネットワーク接続を開き、全般タブにあるMicrosoft ネットワーク用クライアントにチェックを入れる。マイネットワークからアクセスする

linuxの場合
sudo apt-get install smbfs
sudo mkdir -p /mnt/smbsrv/down
sudo mkdir -p /mnt/smbsrv/music
-------------------- /etc/fstabに追加 -------------------
//192.168.0.1/down /mnt/smbsrv/down smbfs username=%,fmask=644,dmask=755 0 0
//192.168.0.1/music /mnt/smbsrv/music smbfs username=%,fmask=644,dmask=755 0 0
---------------------------------------------------------
fmask=644,dmask=755は任意。192.168.0.1はホスト名を付けていたらそれを記述してもよい

試行錯誤の末、サーバ側で
unix charset = UTF-8
dos charset = UTF-8
display charset = UTF-8
を指定すればクライアントがwinでもlinuxでも文字化けしないことがわかった。

自分用ubuntuのカーネルを更新

2006-09-23 22:54:26 | ubuntu
カーネルがアップグレードされたので自分用ubuntuのカーネルも更新したら 起動できなくなった。
squashfsにあるlinux-image-386とextract-cd/casper/vmlinuzのバージョンが同一でないと動かないようだ

./edit.sh
apt-get update
apt-get install linux-image-2.6.15-27-386
apt-get --purge remove linux-image-2.6.15-27-386
exit

edit/boot/vmlinux-2.6.15-27-386をextract-cd/casperのvmlinuzに上書き
edit/boot/initrd.img-2.6.15-27-386をinitrd-editに展開
filesystem.readaheadをエディタで開いて、26-386を27-386に置換
できあがったisoをvmplayerで起動させると普通に起動できた。
試行錯誤してたらedit/boot以下のファイルやlinux-restricted-*も別に必要ないようだ。
edit/bootは手動で、linux-restricted-*は./edit.shしてから

apt-get --purge remove linux-386
apt-get --purge remove linux-restricted-*

として削除した。これらを削除すると30MBほど減量できた。
(この状態でubiquityから他のメディアにインストールすると
そこからブートできないのでubiquityする前に再度入れ直す必要がある)

cp edit/boot/vmlinuz-2.6.15-27-386 extract-cd/casper/vmlinuz
cp edit/boot/initrd.img-2.6.15-27-386 initrd-edit/
cd initrd-edit
zcat initrd.img-2.6.15-27-386 | cpio -i
rm initrd.img-2.6.15-27-386
cd ..
./make-initrd.sh

sudo mv edit/boot/mentest86+ ./
sudo rm -rf edit/boot/*
sudo mv memtest86+ edit/boot
./make-squashfs.sh
./make-iso.sh

vmplayerからホストOSのファイルにnfsでアクセス

2006-09-20 21:53:35 | vmware
vmplayerの接続はNATに設定した。
ホストIP:192.168.0.1
ゲストIP:192.168.1.128

ゲストにマウント用ディレクトリを作成
sudo mkdir /mnt/nfs

ホストにportmap nfs-user-serverをインストール
sudo apt-get install portmap nfs-user-server

/etc/exportsを編集する。以下の1行を追加
/home/hoge 192.168.1.128(rw)

nfs-user-serverを再起動させる
/etc/init.d/nfs-user-server restart

ゲストでマウント作業を行う
sudo mount 192.168.0.1:/home/hoge /mnt/nfs
ここでエラーが発生した。
mount: 192.168.0.1:/home/hoge failed, reason given by server: 許可がありません

ホスト側のログを見てみることにする。
nfsのログは/var/log/syslogに出力されるようだ

NFS mount of /home/hoge attempted from 192.168.0.1
NFS request from 192.168.0.1 originated on insecure port, psychoanalysis suggested
Blocked attempt of 192.168.0.1 to mount /home/hoge

192.168.0.1の設定が必要らしい。勘違いしてた。しかもinsecure portの記述が。ということでホストの/etc/exportsを以下のように書き換えた。

/home/hoge 192.168.0.1(rw,insecure)

再びnfs-user-serverを再起動してゲストからマウントを試みるとマウントできた。
固まったかと思ったけど、マウント完了まで結構時間がかかった。
ファイルの作成や削除を試みたが許可がないらしくできなかった。
ホスト側で666なテキストファイルを作成して書き込みすると書き換えできたが、
そのファイルを削除することは許可がないらしくできなかった。

自分用ubuntuのパッケージ

2006-09-18 01:17:27 | ubuntu
パッケージ数 : 547
イメージサイズ : 232M
USBにインストールするなら、事前に
sudo apt-get update
sudo apt-get install syslinux ms-sys mtools
を実行する。
他に追加したら便利なパッケージ
athcool wine vlc moc conky qt3-qtconfig gnome-system-monitor synaptic file-roller

sources.list
deb http://ja.archive.ubuntu.com/ubuntu/ dapper main restricted
deb http://ja.archive.ubuntu.com/ubuntu/ dapper-updates main restricted
deb http://security.ubuntu.com/ubuntu/ dapper-security main restricted
deb http://ja.archive.ubuntu.com/ubuntu/ dapper universe multiverse
deb http://ja.archive.ubuntu.com/ubuntu/ dapper-updates universe multiverse
deb http://security.ubuntu.com/ubuntu/ dapper-security universe multiverse
deb http://ja.archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse
deb http://wine.budgetdedicated.com/apt/ dapper main
deb http://archive.canonical.com/ubuntu/ dapper-commercial main

/boot/grub/menu.lst

2006-09-13 07:22:08 | ubuntu
title Ubuntu, kernel 2.6.15-26-k7
root (hd0,2)
kernel /vmlinuz-2.6.15-26-k7 root=/dev/hda6 ro quiet splash
initrd /initrd.img-2.6.15-26-k7
savedefault
boot

title Ubuntu, kernel 2.6.15-26-k7 (recovery mode)
root (hd0,2)
kernel /vmlinuz-2.6.15-26-k7 root=/dev/hda6 ro single
initrd /initrd.img-2.6.15-26-k7
boot

title Ubuntu, kernel 2.6.15-26-386
root (hd0,2)
kernel /vmlinuz-2.6.15-26-386 root=/dev/hda6 ro quiet splash
initrd /initrd.img-2.6.15-26-386
savedefault
boot

title Ubuntu, kernel 2.6.15-26-386 (recovery mode)
root (hd0,2)
kernel /vmlinuz-2.6.15-26-386 root=/dev/hda6 ro single
initrd /initrd.img-2.6.15-26-386
boot

title Ubuntu, memtest86+
root (hd0,2)
kernel /memtest86+.bin
boot

### END DEBIAN AUTOMAGIC KERNELS LIST

rox-filerでアーカイブを展開・作成する

2006-09-13 02:02:30 | linux
Archiveという拡張機能のようなものが必要らしい。
http://rox.sourceforge.net/desktop/Archive

その前にこのArchiveを利用するためにはROX-Lib2というライブラリが必要らしい。
http://sourceforge.net/project/showfiles.php?group_id=7023&package_id=18842

これらのファイルを解凍したファイルArchive、ROX-Lib2をそれぞれ
/usr/local/binと/usr/local/libに移動し、rox-filerでアーカイブファイルの対応アプリの設定ダイアログを開き、
ドロップエリアに/usr/local/Archiveをドラッグした。
確認の為、アーカイブファイルをクリックするとpython-gtk2をインストールしないと動かないという旨のテキストが表れたので、
sudo apt-get install python-gtk2
を実行して再度試みるとrox-filerでアーカイブが展開できるようになった。
アーカイブの作成はSendToに/usr/local/bin/Archiveのシンボリックリンクを貼って
右クリック>アプリに送る>Archive
で実行できた。