Computer

Linuxのネットワークに関する設定

WebminやSamba,プリンタなどの設定です.

Webminの設定

Webminは設定をいじる時に便利であるがデフォルトではないこともある. (ちなみにVineはデフォルトで日本語化されたものが入っている)
ディストリビューションやインストールタイプの違いによるものと考えられる.
apt-getが使える場合は,
apt-get update
apt-get install webmin
でインストールされる.
もしくは, Webminの公式サイト からdownload.htmlへ行き,webmin-(version)-noarch.rpm をDLし,
rpm -Uvh ***
でインストールする.
しかしこのままだと英語表記なので,日本語表示にするためには,
Webmin Configuration から Language へ行き,Display in language をJapaneseにする.

アクセスするにはhttp://(hostname):10000/(おそらく一般的) もしくはhttps://(hostname):10000/(Vineの場合)で行う.

また,アクセスできるユーザを固定しましょう.Webminユーザからユーザを追加するなり削除するなりしましょう. とりあえずrootだけでいいかとは思いますが.このrootをクリックしてユーザの編集画面を出して, パスワードの欄を,authenticationにしておくとよいかと思われます.
さらに,Webmin設定からIPアドレスのアクセス制御でWebminにアクセスできるIPを制御しましょう.
127.0.0.1
192.168.1.0/255.255.255.0
とでもしておけばいいでしょう.
ただし,Vineの場合は,
/etc/hosts.allow を, webmin: 127.0.0.1 192.168.1.
/etc/hosts.deny を
webmin: ALL
などとして,こちらでも設定しておく必要があるらしい. (デフォルトではローカルからのみアクセス可だったはず・・・) 追記(2004/03/24):後からSSLに対応させる(https://でアクセスさせる)ことも可能.
Webminで「その他」→「Perlモジュール」.
「CPANから名前つき」に「Net::SSLeay」と入力しDL完了後インストールを続行する. うまくインすと出来ない場合は「makeしてインストール」にするとよい.
インストール完了後,「Webmin」→「Webmin設定」→「SSL暗号化」でOKをする.
これで完了.

Linux Firewall

Webminをインストールしたところで,ファイアウォールの設定を行う(とよいだろう).
Webminの「ネットワーク」→「LinuxFirewall」を選択する. 場合によると似たようなもの,Vineの例だと「IPchains Firewalling」や「IPtables Firewall」 などがあるが,前者はカーネルが古いもの用,後者は・・・わからん! とにかく使えない.
まず,設定したいルールを書き出す.今回は,
SSHとWebサーバ用に,TCPの22と80は常に受信を許可する. ローカルからの接続は全て許可する.(これをしないとWebminに接続できない・・・かな)
LinuxのソフトでインストールしたGnome IP Messenger のためにTCPとUDPの2425の受信を許可する.
DNSサーバとのやり取りのため,DNSサーバのIPは(本来はUDPの53だけか?)許可する.
それ以外のTCP,UDPは全て受信を拒否する.
とした.

Linuyx Firewallのメイン画面で,左上の「Add a new chain named:」に適当な名前(今回は「input-chain」)のルールを作る.
そうすると,下に,「Chain input-chain」という項目ができるので,そこに,上で決定したルールを追加していく.
まず,TCPの22を許可するためには,

「Add rule」でルールを追加する画面を開き,
「Action to take」で「Accept」,
「network protocol」で「Equals」の「TCP」,
「Destination TCP or UDP port」で「Equals」の「22」を,
「Additional parameters」に「--syn」を設定
最後に,「作成」をクリックすればよい.

TCPの80,TCPの2425を許可するのも同様である.
さらに,UDPの2425を許可するには,

「Action to take」で「Accept」,
「network protocol」で「Equals」の「UDP」,
「Destination TCP or UDP port」で「Equals」の「2425」を,
「作成」をクリック.
(「Additional parameters」は設定しない.)

また,ローカルからの受信を許可するには,

「Action to take」で「Accept」,
「Incoming interface」で「Equals」の「lo」,
「作成」をクリック.

また,DNSからのアクセスを許可するために,

「Action to take」で「Accept」,
「Source address or network」で「Equals」の「DNSサーバのIP」,
「作成」をクリック.
もしくはTCP,UDPの53番を開ける.

あとは,それ以外のTCP,UDPを拒否する.
TCPは,

「Action to take」で「Run chain」に「REJECT」を入力,
「network protocol」で「Equals」の「TCP」,
「Additional parameters」に「--syn」を設定
「作成」をクリック.

UDPは,

「Action to take」で「Run chain」に「REJECT」を入力,
「network protocol」で「Equals」の「UDP」,
「作成」をクリック.

これで,ルールの作成が終了した.

これを受信ルールに適用する.

「Incoming packets (INPUT)」で「Add rule」をクリック.
「Action to take」で「Run chain」に「input-chain」を入力,
「作成」をクリック.
そして,面画面の下のほうの「Apply Configuration」をクリックすれば適用される. (エラーが無ければ)

なお,この設定は,/etc/sysconfig/iptables を編集したことになる.

DNSサーバの部分は,Firewallを設定するマシンがローカルの下の場合,IPを192.168.1.0/24などとすればよいであろう.
また,nptdateコマンドでntpサーバとやり取りしたい場合,そのサーバとのやり取りのための設定が必要となる.

Apacheを立てよう

Apacheを立てるときに最低限必要な設定です.
(現在編集中)
PHPのインストールはここ を参考にした.
以下は,インストール手順.

tar xvfz php-4.3.3.tar.gz
cd php-4.3.3
./configure --with-apxs=/usr/sbin/apxs --enable-mbstring
make
su
make install
cp php.ini-dist /usr/local/lib/php.ini

と行う.またApacheに,php4に関する記述(モジュールの追加等)があることを確認する.
その後Apacheを再起動でPHPが使えるようになる.
2003/12/17追記:
通常は,.phpや.phtmlでPHPが実行できるが,下のように,.htmlを追加してしまうと, .htmlファイルでもPHPが使えるっぽい.(いいのかどうかはわからんけど)
<IfModule mod_php4.c>
  AddType application/x-httpd-php .php4 .php3 .phtml .php .html
  AddType application/x-httpd-php-source .phps
</IfModule>

Sambaの設定

Windowsとのファイル共用をするのに非常に便利です.
これもWebminと同じく,インストールタイプの違いなどで,デフォルトでインストールされてないことがある.
apt-getが使える場合は,
apt-get update
apt-get install samba
でインストールされる.
もしくは,日本語版のSambaにすることも含め,
Samba公式サイト から最新版を入手しインストールする..

今回,Sambaサーバでは,Sambaユーザがファイル共有できることを目的とする.
よって,できればrootか,Sambaユーザのアカウントで,任意の場所にフォルダを作成. (/hoge とする)アクセス権は777にしておく.
Sambaユーザの追加は, smbpasswd -a ユーザ名
New SMB password: xxxxxxxx
Retype new SMB password: xxxxxxxx
とすればいい.
ユーザ名はWindowsと同じにすることが望ましい.
しかし,これは面倒なので,Webminからいじってしまおう. にもある通り,Webminで設定を行うことにより, ユーザとパスワードの管理が楽になる.
ユーザを追加し,パスワードを設定したところで,共有の設定に移る.
設定はSWATを行う.
RedHat9では,SWATのために,
/etc/xinetd.d/swat
の only from の行をコメントアウトし,disable を no にすることが必要であるらしい.

SWATにアクセスするにはhttp://(hostname):901/で行う.
ブラウザから設定できるので便利である.
Vineでは,
/etc/hosts.allow を, swat: 127.0.0.1 192.168.1.
/etc/hosts.deny を
swat: ALL
SWATの「全体設定」の「host allow」で192.168.1.
とすることで,他のマシンからも設定可能になる.(RedHatは忘れた.)
「基本オプション」の欄.
「workgroup」をWindowsと同じものに.
「map to guest」を「Never」に.
「interfaces」を「lo eth0」とし,
「bind interfaces only」を「Yes」に.
「設定変更」を忘れずにクリック.
「共有設定」の欄.
「path」に「/hoge」
「セキュリティオプション」では,
「writeable」を「yes」にすれば,他のマシンから書き込み可能.
「設定変更」を忘れずにクリック.
あとはSambaを再起動すればよいでしょう.

最後にLinux起動時に自動的にSambaが起動するように設定する.
Vineではターミナルでntsysvと打ち「smb」の項目に*印をつけておく.
RedHat9では,KDEで設定したのだが, システムの設定,サーバの設定,サービスからサービスの設定を開き, smbにチェックし(さらに開始を押す)保存をする.
これで起動時にsmbが起動する.

VNCについて

VNC (Visual Network Computing) とは, ネットワーク経由でパソコンを遠隔操作するソフトウェアです.
WindowsXP Proにはデフォルトでリモートデスクトップという機能があります. それみたいなものです.
ここここ を参考にVineにインストしました.(でも日本語化はうまくいかなかったけど)

結局,使用方法は以下のようにした.

1. まず,Windowsからsshでログイン.このとき,5901(5900+ディスプレイナンバー)をポートフォワードしておく. 2. vncserver と入力.(このとき,/usr/local/binにPATHが通っている必要がある) 3. vncviewerで127.0.0.1:1などとしてログイン.

あとは,適当にウインドマネージャーを設定した.
操作によっては,ps auxfコマンドなどでXvncというプロセスを探し,killコマンドで終了し,vncserverを起動しなおす必要がある.もしくは,

vncserver :1 vncserver -kill :1

で起動,停止させることもできる.(エイリアスに追加しても良いか)

VNCをinetdで起動させるためには, /etc/servicesと/etc/inetd.confの設定を行う. ここ を参考にすると良い.しかしなんかうまくいかなかった.
Valid HTML 4.01 Transitional Valid CSS!
Copyright© Satze.net All rights reserved.