トップページlinux
987コメント515KB

おまえらが俺様にUbuntuを教えて下さるスレ

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001ジャイアン ◆7w1Xnh.8wI 2008/05/10(土) 02:58:36ID:RB9kW104
おい、のび太!俺様にUbuntuを教えろよ!
0896ジャイアン ◆J1N3P2v8mu/2 2010/03/03(水) 21:32:30ID:sYBepm0x
>>895ののび太の言うことも尤もだな。
速さを重視するならRAMを増やすべきだ。
今のところスワップは数十MB程度しか使ってないから
特に気にするほどではないな。

今度のPCも長く使うつもりだから
DDR2 4GBx2が欲しかったんだが。
0897login:Penguin2010/03/04(木) 20:31:30ID:fcdcrCOp
ubuntu10.4はiphoneを普通にマウントできるらしい。
楽しみだ。
0898login:Penguin2010/03/04(木) 20:52:22ID:3/cqMdsc
釣りかと思って ubuntu 10.04 iphone でぐぐったら
大量にヒットした まーくん&開発者さん ありがとう
ubuntuの弱点がひとつ克服されたよ
次は。。。blu-rayとか?これは強敵だろうな
0899login:Penguin2010/03/06(土) 19:47:36ID:VFIMXBcN
>>Ubuntuでnvidiaって使えるの?
ラデだと苦労するんだよ
0900ジャイアン ◆J1N3P2v8mu/2 2010/03/08(月) 21:26:25ID:bbQZdoJv
ようやく900まで来たぞ。
tmpfsのことはこれで終わりにしよう。

>>585の課題のうち、残りは
・ネットワーク越しにデータをコピーできたらいいな
・仮想PCを使えたらいいな(kvm -net nic -net tap)
・ファイヤーヲールの設定ができたらいいな
だ。
0901login:Penguin2010/03/09(火) 00:02:05ID:Dgq/UVWl
ubuntu9.10よりOpenSUSE11.2の方が軽いぞ
DVD-ISOをダウンロードするのに俺の家の回線では12時間かかったが
0902login:Penguin2010/03/09(火) 01:30:57ID:9GoA4Ec2
同じlinuxで軽い重いってなに? チューニングが足りないだけじゃないの?
0903( ̄ー ̄)ニヤリッ ◆dTQkcZeb9M 2010/03/09(火) 23:29:48ID:FC71ZCoF
>>902
色々なディストリビューションを試用してみると分かるYo!!
0904login:Penguin2010/03/10(水) 00:00:19ID:q8E8GWm+
そりゃサーバー向けとデスクトップ向けじゃ設定変えてあるでしょ?
チューニングすれば同じになる。
0905login:Penguin2010/03/10(水) 08:18:16ID:KudZTj20
test
0906login:Penguin2010/03/10(水) 08:21:35ID:4ExiTqTM
>>899
ドライバってディストリビュージョン毎に違うんでしょうか?
それともLinuxなら全部同じでいけるんですか?
0907login:Penguin2010/03/10(水) 21:24:44ID:wmTlKjaK
               |_:;_:;_:;_:;_:;_/  
               |:;:;:;:;:;:;:;:;:;:| 拡 ナ オ
                 /`~`卞三ミ! 張 イ
             〈  (::::)ヾミミ! 子 ス
              ヾt三ュ'、ヾミ、
    ,. -―- 、、    { `ー   lミト、_
   /  ZIP   \   ノ,.、    {ミ} (ノ人|/´ilTT!
  /         r_'.(_ ,ィ'  _}i `"^、´ /`>l十'
 ,' :.:.:.:. , - 、 { ̄`'l Ll、 `t三シ′  〉 ,イl l| l|
 ! :.:.:.:. |:::::::ヽ'、::::::ハ =ヽ   ヽ    , ' /l| l| l| l|
 、 、:.:.. ヾ::::ノr; i)丶.〉  ',  〈__,. イ / l| l| l| l| l|
  ヽ` ;'::::..}./ ` ,.ィiエメ、  !     l/l| l|_l|_l|_l|_l|
   `ーぅ、:.t:::.rfメ<レ' ノ ,'     r'l/il´l| l/´ l| l|
0908login:Penguin2010/03/10(水) 21:27:34ID:wmTlKjaK
       ,:-ー''"|_  .| ̄ `ヽ、
     ,_|     |_|    `I_.
 __,,::r'7" ::.              |_
 ゙l  |  ::              ゙) 7
  | ヽ`l ::              /ノ )
 .| ヾミ,l _;;-==ェ;、   ,,,,,,,,,,,,,,,_ ヒ-彡|
  〉"l,_l "-ー:ェェヮ;::)  f';;_-ェェ-ニ ゙レr-{   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | ヽ"::::''   ̄´.::;i,  i `'' ̄    r';' }   | 久々にブロック崩し
 . ゙N l ::.  ....:;イ;:'  l 、     ,l,| ̄   | こういうゲームでも喜んで遊んだのが
 . |_i"ヽ;:...:::/ ゙'''=-='''´`ヽ.   | ̄    < 昔の人間なんだよな今の奴らは下に
   .| ::゙l | ̄| ::´==' '===''` ,i  ̄|     | エロ画像がでないとやらないから困る
    .{_| ̄   ̄|::=====::" , il   |     \________
            ̄| | ̄|  ,,l' ノト、
       O      ̄   ̄|;r'" :| |
          ミ       ̄ ̄ ̄

            ⊂ニニ⊃
0909login:Penguin2010/03/10(水) 23:26:23ID:Sud4UirG
>>908
昔の人間ですが出た方がやりがいがある。
しかし、そこにあたり藩邸があるかの様に感じてなおさら難しくなる。
0910ジャイアン ◆J1N3P2v8mu/2 2010/03/12(金) 21:42:09ID:WoGUUpGa
のび太がAA貼らなくなったから
思ったよりスレが伸びなかったな。
0911login:Penguin2010/03/12(金) 22:42:29ID:7gMDXq+P
ramdisk活用してる?
tar玉開くとかrar結合とか鼻水出る位早いよね。
シャットダウンしたら元ファイル消えてくれるし。
0912login:Penguin2010/03/17(水) 01:41:35ID:ehSCTi0G
ramdiskじゃないけど、10.4はSSDを買っていれてみようか検討中。

SSDの特徴は
・読み書きが比較的高速
・容量が比較的小さい
・頻繁に書き込むとすぐ壊れる

SSDをマウントするとまずそうな所として、

/var -> ログが頻繁に書き込まれる
/home -> 容量が大きい
/tmp -> 一時ファイルが頻繁に書き込まれる

は確定と思われるが、ほかに怪しげなところを探してみた

/proc -> プロセスの情報があるが、ディスクアクセスしてる?
/sys -> デバイスの情報を見れるらしいが、ディスクアクセスしてる?
/etc -> 設定ファイルなので滅多に変わらないと思いきや、今日も更新されてる
/selinux -> 1年以上更新されてない。使われてないのかな
/root -> ubuntuにrootってあったっけ・・・

なんなのかよく判らないディレクトリが多いので、
判るディレクトリだけにマウントした方が無難かもしれない。
0913login:Penguin2010/03/18(木) 16:34:32ID:BSGdoeii
/procと/sysはシステム情報を「仮想的なファイル」で提供しているだけなので
ディスクは関係ないよ

/etcは気にすると剥げる。

/selinux も /proc とかと同じなのかな?

それとrootのないLinuxは存在しない。ubuntuはパスワードが無設定で
ユーザがログインできないだけ。内部ではrootユーザーがプロセスを動かしまくってる
0914login:Penguin2010/03/19(金) 02:21:02ID:IDK9btX1
なるほど。

/rootがあったから、誰かに乗っ取られたのかと焦ったけど、
改めてよく見ると、eclipseの設定ファイルだけあった。
多分、勝手にディレクトリを作ったのかな。

更に言うと、adobe readerは/optを、CVSは/srvを勝手に作ってるな・・・

結局の所、行儀の悪いソフトが変な場所に書き込みする場合があるので、
SSDのマウントは、まずそうな所じゃなくて、よさそうな所を選ぶべきか。
0915login:Penguin2010/03/19(金) 14:22:50ID:QquZ4UAO
書き換えの多い所を除外していったら、早さというSSDの最大のメリットをスポイルしてしまいそうだね
/tmpとブラウザキャッシュはramdiskに任せるとして、/var/tmpをどうするか。
常時稼働ならramdiskで問題なさそうだけど、一部のアプリが再起動で/var/tmpを読みにいくみたい
フリーズ→リセットで設定が初期化されても煩わしいし。
transmissionのアホンダラはDL済のファイルを再DLしようとするから困る。UL履歴クリアされるし。
0916login:Penguin2010/03/19(金) 17:29:15ID:bAT1NPMe
FHSでは/var/tmpは再起動時に消えない前提じゃなかったか
0917login:Penguin2010/03/19(金) 19:41:58ID:vXRkOouc
tmpが再起動で消えるの知らなくて、書庫開いたまま編集したファイルが消えてしまったのは私だけだろうか?
0918login:Penguin2010/03/19(金) 21:15:34ID:7Wq6CK5W
>>912-913
rootパスを設定すれば、
ubuntuでもsuが使えるお

ってゆーか、設定しないとまずいんじゃなかったっけなぁ?
よく憶えてないけど、
シングルユーザーモードって誰でも使えて
root状態になれるような気がした。
0919login:Penguin2010/03/19(金) 21:41:44ID:o6YVXIdf
サーバのramdiskの/tmpにでかいファイルを置きっぱなしにして、
「非常識」と上司に怒られてた人は居たな。
他のプロセスで使えなくなるからかな。
0920ジャイアン ◆J1N3P2v8mu/2 2010/03/20(土) 22:09:45ID:JS80eHZX
http://www.pathname.com/fhs/pub/fhs-2.3.html

どこにどんなのがあるかだいたい決まっているんだな。
うぶんつのネットブックはSSDを使ううえで
特別な工夫をしてあるんだろうか。
0921ジャイアン ◆J1N3P2v8mu/2 2010/03/22(月) 22:12:26ID:+HziTGV1
10.04のベータ版をKVMで試してみた。
9.10よりもさらに起動が速くなったような感じだ。
今のところ大した問題はないようだから
しばらくこのまま使ってみよう。
0922ジャイアン ◆J1N3P2v8mu/2 2010/03/25(木) 20:46:39ID:/EgELspS
仮想マシンでNASのようなものを作れば
>>900の内容を全部こなすことになりそうだが、
それだと1000までに終わりそうにないな。
0923ジャイアン ◆J1N3P2v8mu/2 2010/03/30(火) 21:49:10ID:SgBE5YtX
Firewall
https://help.ubuntu.com/community/Firewall


Linuxカーネルのnetfilterサブシステムでトラフィックを制御している。
iptablesはnetfilterサブシステムのユーザーインターフェイスで、
これでファイヤーヲールを管理できる。フロントエンドもある。

・iptables これが基本。コマンドライン。
・UFW iptablesのCLIフロントエンド。8.04以降、標準でインストールされる。
・Gufw UFWのGUIフロントエンド。初心者にはこれがいい。
・Firestarter iptablesのGUIフロントエンド。開発終了っぽい。UFWと競合するかも。
・Guarddog KDE用。



iptablesを使えるようになるのが理想だが、まずはGufwを試してみようかな。
0924login:Penguin2010/03/30(火) 23:25:03ID:mhSczMMA
俺いつもgufw入れてるよ。インスコもソフトウェアセンターで探せば一発
設定もwindows firewallみたいにちょこちょこっとクリックするだけだから楽勝
ザクとは違うんだよ ザクとは!
0925ジャイアン ◆J1N3P2v8mu/2 2010/04/01(木) 21:40:00ID:6tdgk+yg
Gufw
https://help.ubuntu.com/community/Gufw


9.10のGufwのことがスクリーンショット付きで説明してあるのだが、
10.04のやつは少し改良してあるようだな。
発信のデフォルトのルールが設定できるようになってる点とか。

10.04ではデフォで受信は拒否、発信は許可となっているが、
発信も必要なものだけ許可するようにしたいところだ。
おれは気が小さいからな。
どんなのを通したらいいか調べてみるか。
0926login:Penguin2010/04/01(木) 23:05:55ID:uCKFDmxD
ジャイアンとしてそれは問題だな
0927ジャイアン ◆J1N3P2v8mu/2 2010/04/09(金) 22:18:25ID:jvcbI5Q3
まずはKVMで試してみるわけだが、
-netオプションを特に指定しない場合のネットワーク構成は
>>607の記事に書いてある。

10.0.2.2 DHCPサーバー
10.0.2.3 DNSサーバー
10.0.2.15 仮想マシン

インストールの時、ネットワークの設定は自動で済んだので、
これらを使う設定になっているだろう。
0928login:Penguin2010/04/11(日) 23:31:36ID:rxc/BnpQ
ジャイアンがんばってるなぁ
0929ジャイアン ◆J1N3P2v8mu/2 2010/04/15(木) 21:29:11ID:avxzHcjb
Network Configuration
https://help.ubuntu.com/9.10/serverguide/C/network-configuration.html


ネットワークの設定は/etc/network/interfacesに書いてあるそうだ。
# The primary network interface
auto eth0
iface eth0 inet dhcp
と書いてあるから、DHCPサーバーを使うようになっているみたいだ。

/etc/resolv.confにはDNSサーバーのアドレスが書いてあるらしい。
nameserver 10.0.2.3
と書いてある。

DHCPとDNSの役割はブロードバンドルーターを設定する時に調べた。
どっちも通信するのに要るものだから、発信を許可しないといけないだろう。
0930login:Penguin2010/04/15(木) 21:56:00ID:UUNu0aTE
IPアドレスはあまり書かない方がいいかも
まぁ10.0.2.3はプライベートアドレスだから大丈夫だけど
0931login:Penguin2010/04/17(土) 05:06:01ID:DT7bj2Ed
いつか、もう一台組むか買うかした時には、是非参考にする。
ジャイアン頑張れ!
0932login:Penguin2010/04/17(土) 08:51:59ID:3gBnRVZ2
このスレは、漏れの様な初心者には永久保存版だ。
0933ジャイアン ◆J1N3P2v8mu/2 2010/04/17(土) 22:06:39ID:XZnWlON/
ポート番号
http://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7


よく使われるポート番号が載ってる。
/etc/servicesにもっと詳しく書いてあるとか。

DNS: UDP/53へ
DHCP: UDP/68から67へ

のほかに

WWW: TCP/80,443へ
メール: TCP/25,110へ
時刻合わせ: UDP/123から123へ

は使っていそうな感じだな。
0934ジャイアン ◆J1N3P2v8mu/2 2010/04/18(日) 22:06:08ID:6e1ucEG0
送信をデフォルトで拒否にして

DNS: UDPで10.0.2.3:53へ
DHCP: UDPでポート68から10.0.2.2:67へ
WWW: TCPでポート80へ

を許可するようにしてみた。
理研のftpサイトにアクセスしてみたところ、
httpだと何の問題もなかったが、ftpだと「接続しています...」でタイムアウトした。
どうやら期待したとおりの動作をしているようだ。

pingも通さないみたいだから
少し不便なところもあるかもしれん。
0935ジャイアン ◆J1N3P2v8mu/2 2010/04/20(火) 21:13:21ID:Ul0MYHra
仮想マシンのFirefoxで10.0.2.3にアクセスしてみたら
ユーザー名とパスワードを要求された。
ブロードバンドルーターにアクセスしているような感じだったが
何も入力しないで閉じた。

https://10.0.2.15/はタイムアウトではなくて
「正常に接続できませんでした」となるので、
ファイヤーヲールを通過しているみたいな感じだな。
自分自身への接続は全部許可しているのかな。
0936ジャイアン ◆J1N3P2v8mu/2 2010/04/21(水) 21:20:22ID:1V6RdD6V
ルールを挿入する行を指定できるようになっているが、
肝心の行番号が表示されていないから
ルールの数が多くなると不便そうだな。

複雑なファイヤーヲールを作るのは
Gufwの目指すところではないだろうから、
LAN内部の通信くらいは全部通してもいいのかも。
0937ジャイアン ◆J1N3P2v8mu/2 2010/04/22(木) 21:23:34ID:+O0KR6R8
デフォルトで全部拒否して、

10.0.2.0へ(DHCP、DNSとか)
TCPでポート80へ(WWW)
TCPでポート443へ(WWW)
UDPでポート123から123へ(時刻合わせ)
他にメールとかLAN内部からとか

を許可したら事足りるだろうか。
0938ジャイアン ◆J1N3P2v8mu/2 2010/04/23(金) 21:40:16ID:bRUp7oK4
もっと複雑な制限をかけたい場合には
Gufwでは機能が不足しているだろうから、
他のものを使うことになりそうだな。
例えば、「ジャイ子がp2pファイル共有で同人漫画を集めたりできないようにしたい」とか、
「通信帯域を制限したい。特に、httpで大きなファイルを転送するのを妨害したい」とか。
0939login:Penguin2010/04/23(金) 22:51:35ID:sQAbnDPf
じゃいあんって何者なんだ

ただものではないだろjk
0940login:Penguin2010/04/24(土) 02:58:42ID:rcjdpk52
Ubuntuを使っている以上、ただ(無料)の物が好きな事だけはまちまいない。
0941ジャイアン ◆J1N3P2v8mu/2 2010/04/24(土) 21:31:24ID:vAABxVVL
UFW
https://help.ubuntu.com/community/UFW

pingを通す方法が書いてあるみたいだな。
ルールは上にあるものほど優先されるから
順番に気をつけろというようなことが書いてあるようだ。

どうせコマンドラインでやるならiptablesの方がいいだろ。
同じやり方でFedoraとかでも通用するだろうし。
0942login:Penguin2010/04/24(土) 22:01:18ID:CBvLasud
ubuntu9.10でgnometris(gnomegamesのテトリス)が
rm@v21g-ubuntu:~$ gnometris

(gnometris:2279): ClutterGLX-CRITICAL **: Unable to find suitable GL visual.
Failed to initialise clutter: Unable to realize the default stage

ってなって起動できないんですけど。
0943login:Penguin2010/04/24(土) 22:22:17ID:iRoOTI1f
9.10だけどICH8とかICH9を認識しないの?クソなの?
0944ジャイアン ◆J1N3P2v8mu/2 2010/04/25(日) 22:32:10ID:JcQ6doaP
IPTablesHowTo
https://help.ubuntu.com/community/IptablesHowTo
http://manpages.ubuntu.com/manpages/lucid/man8/iptables.8.html

難しいうえにやたらと長いな。
やる気がなくなるぜ。

iptablesのスレも見てるんだが、iptablesコマンドを使うことだけは分かった。
のび太、ご苦労だったな。

iptablesをいじる前に、Gufwで作ったルールを無効にしておかないといけないな。
「有効にする」のチェックを外して再起動するだけでいいみたいだ。
0945ジャイアン ◆J1N3P2v8mu/2 2010/04/26(月) 21:22:58ID:Qb5zDx8Q
sudo iptables -L

これを実行すると現在の状態が表示されるとか。

実際にやってみると
INPUT、FORWARD、OUTPUTというチェインがあって、
それぞれでポリシーは許可、ルールなし
となっているようだな。
0946ジャイアン ◆J1N3P2v8mu/2 2010/04/27(火) 20:42:21ID:ylKXayBp
「ポリシー」というのはデフォルトのルールだろ。
「チェイン」の概念はなんだかよく分からんが、
「特定のルールの集合」みたいな感じか。
受信のルールをINPUTチェインに
送信のルールをOUTPUTチェインに追加すればいいみたいだな。
0947login:Penguin2010/04/27(火) 22:58:16ID:EcVh2KoA
ジャイアンのキャラとかもうどうでもいいんだなw
0948login:Penguin2010/04/27(火) 23:05:19ID:R0QkNSP2
ところでジャイアン、ガキ板でおぬしと同名のコテがいたらしいが記憶あるかえ?
まぁ、ぃぬ板有数の良スレに育て上げたおぬしに今更な事だが。
0949login:Penguin2010/04/27(火) 23:12:24ID:7tMw3Ate
今のジャイアンは二代目だよ
>>236あたり参照
0950ジャイアン ◆J1N3P2v8mu/2 2010/04/28(水) 20:57:53ID:MlpD3Q+D
INPUT、FORWARD、OUTPUTの各チェインでポリシーを設定して
これの例外となるルールを追加していくわけだな。
必要な通信だけを通すようにするには、
ポリシーで全部遮断して個別のルールで通すものを指定する
ということになるな。

次はiptablesコマンドの使い方を調べるか。
0951ジャイアン ◆J1N3P2v8mu/2 2010/04/29(木) 21:00:36ID:yAMyzSoI
-Pオプションでポリシーを設定する。


sudo iptables -P チェイン ターゲット

「チェイン」はINPUT、FORWARD、OUTPUTのいずれかだな。
「ターゲット」は通信をどうするかということらしい。
ACCEPTは通す。DROPはこっそり遮断する。

だから、通信を全部遮断するには

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP

だな。
0952ジャイアン ◆J1N3P2v8mu/2 2010/04/30(金) 21:10:33ID:m+ldm6Hc
-Aオプションでルールを追加する。


sudo iptables -A チェイン ルールの仕様

「チェイン」はINPUT、FORWARD、OUTPUTのいずれかだな。
「ルールの仕様」はうんざりするな。ドキュメントにも「憶えなくていいお」って書いてある。
後で見て分かるようにしておくのが大事だな。

-p プロトコルを指定する。tcp、udp、icmp、allのいずれか。allが既定値。
-s 送信元を指定する。IPアドレスで。「! -s」は「指定したアドレス以外」という意味。
-d 送信先を指定する。同上。
-j パケットが条件に合った場合のターゲットを指定する。ACCEPTかDROP。他のは知らん。
-i 受信することになるインターフェイス名を指定する。省略した場合、任意のインターフェイス。
-o 送信することになるインターフェイス名を指定する。
-m 条件をもっと詳しく指定する。後回し。
0953login:Penguin2010/04/30(金) 21:22:04ID:EaQXy4cC
何かジャイアンじゃないw
0954ジャイアン ◆J1N3P2v8mu/2 2010/04/30(金) 22:09:09ID:m+ldm6Hc
書き忘れたが、>>952の-pとか-sはルールの仕様に関するオプションだ。

例えば

sudo iptables OUTPUT -d 10.0.2.0/255.255.255.0 -j ACCEPT

とすると、送信先がLAN内部ならば通すというルールを
OUTPUTチェインに追加するわけだな。
さらにポート番号を指定したいとかいうような場合は
-mで条件を拡張するわけだが、数が多くてやってられん。
頭が混乱しないように使いそうなやつだけメモしておくか。
0955login:Penguin2010/05/01(土) 14:48:32ID:8PzX/j98
そこはシェルスクリプトにするのが定石だと思う
ネットで探せば例が転がっているんじゃないかと
0956ジャイアン ◆J1N3P2v8mu/2 2010/05/03(月) 21:30:34ID:1CX8aWeJ
シェルスクリプトのことを出木杉にきいてきたぞ。
実行すべきコマンドを列挙したテキストファイルのことだそうだな。
シェルスクリプトを実行すると、書いてあるコマンドが順に実行されるらしい。
ファイヤーウォールを設定するには
iptablesコマンドを何度も実行することになるから、
シェルスクリプトを作ると都合がいいみたいだな。
0957ジャイアン ◆J1N3P2v8mu/2 2010/05/04(火) 21:11:35ID:HLpsuDls
>>954の続きだ。

-m tcp
TCPに関係する条件を詳しく指定できるようにする。
「-p tcp」が指定された場合、「-m tcp」は省略できる。
--source-port 送信元のポートを指定する。省略して「--sport」でもいい。「:」で範囲。
--destination-port 送信先のポートを指定する。「--dport」でいい。

-m udp
UDPに関係する(ry。-m tcpに準じる。

-m multiport
送信元・送信先のポートを「,」で区切って15個まで指定できるようにする。
--source-ports 送信元のポートを指定する。省略して「--sports」。
--destinaton-ports 送信先のポート。「--dports」。

-m conntrack
接続の状態とかを指定できるようにする。-m stateよりも強力。
--ctstate 接続の状態を指定する。NEWは新規接続。ESTABLISHEDは既存の接続。RELATEDは既存の接続に関係のある新規接続、INVALIDは無効な接続。
0958ジャイアン ◆J1N3P2v8mu/2 2010/05/04(火) 22:26:13ID:HLpsuDls
例えば

sudo iptables -A OUTPUT -p tcp -m conntrack --ctstate NEW -m multiport --dports 80,443 ACCEPT

を実行すれば、TCPでポート80または443への新規接続を許可するルールを
OUTPUTチェインに追加することになるだろう。

なるべく接続の状態も指定した方が安全になるらしい。
ブロードバンドルーターに「SPI」という機能がついてるんだが、
「-m conntrack --ctstate」はこれと同じようなことのような感じだな。
0959login:Penguin2010/05/04(火) 22:36:22ID:dVx748ni
OUTPUTチェインを弄ることは、現実的にはあまり無いよ。
サーバならINPUTチェインを、ルーティングもするなら
FORWARDチェインを弄ることになる。
0960ジャイアン ◆J1N3P2v8mu/2 2010/05/05(水) 20:33:48ID:VmXl8nxk
せっかくあるんだからOUTPUTチェインも使おうぜ。
よく知らんが、UPnPとかいう仕組みでポートを勝手に使えるらしいから
INPUTチェインでの制限だけでは十分じゃないかもしれないぞ。
0961ジャイアン ◆J1N3P2v8mu/2 2010/05/05(水) 21:09:17ID:VmXl8nxk
>>957の他に使えそうなやつ

-m connbytes、-m connlimit、-m quota
転送量や接続数を制限する。

-m limit、-m hashlimit
ルールが適用される頻度を制限する。

-m mac
送信元のMACアドレスを指定する。

-m owner
通信しようとしているユーザーを指定する。

-m recent
悪いことをしようとした奴らを締め出すのに使えるらしい。

-m time
時間を指定する。
0962ジャイアン ◆J1N3P2v8mu/2 2010/05/05(水) 21:27:49ID:VmXl8nxk
例えば

sudo iptables -A OUTPUT ! -d 10.0.2.0/255.255.255.0 -m owner --uid-owner jaiko -m time --timestart 21:00:00 --timestop 05:00:00 -j DROP

を実行すると、
jaikoは夜の9時から朝の5時までの間、
LAN内部以外とは通信できなくなるのかな。
0963ジャイアン ◆J1N3P2v8mu/2 2010/05/06(木) 20:49:17ID:wRsOF2vt
-iや-oで指定するインターフェイス名は
/etc/network/interfacesを見ればだいたい分かるだろう。

ifconfigコマンドを実行すると
稼働中のネットワークインターフェイスが表示されるので
これも参考になるだろう。
0964ジャイアン ◆J1N3P2v8mu/2 2010/05/08(土) 20:54:40ID:LQrEbcm1
-Dオプションでルールを削除する。

-Fオプションでチェイン内の全ルールを消去する。
何かおかしくなったときに使えそうだな。

-Zオプションですべてのチェインのパケットカウンタ、バイトカウンタを0にする。
各ルールが適用されたパケット数、バイト数を記録してるんだな。
カウンタの数値は「-L -v」オプションで見られるらしい。
0965ジャイアン ◆J1N3P2v8mu/2 2010/05/09(日) 21:06:00ID:IU09vcKg
ルールは上にあるものほど優先されるから、順番が大切だ。
>>962のようなやつは、通信を許可するルールよりも
上にしておかないと意味がないらしい。
よく使うルールはなるべく上の方にしておくと
CPUの仕事が少し減るとかなんとかで、
パケットカウンタも参考にして順番を決めるんだとか。
0966ジャイアン ◆J1N3P2v8mu/2 2010/05/09(日) 21:53:40ID:IU09vcKg
いよいよファイヤーウォールの設定を始めるわけだが、
>>955にあるとおり、シェルスクリプトを使うのが普通みたいだな。

送信は
 既存の接続とこれに関連のある接続を通す
 DNS、DHCP、NTP、webとメール、ループバック、pingの新規接続を通す
 他は通さない

受信は
 既存の接続とこれに関連のある接続を通す
 ループバック、LAN内部からのpingの新規接続を通す
 他は通さない

という方針でやってみよう。

DHCPサーバーとDNSサーバーのアドレスは>>927だ。
0967ジャイアン ◆J1N3P2v8mu/2 2010/05/10(月) 20:47:26ID:c5Akoipn
>>954
× sudo iptables OUTPUT -d 10.0.2.0/255.255.255.0 -j ACCEPT
○ sudo iptables -A OUTPUT -d 10.0.2.0/255.255.255.0 -j ACCEPT

>>958
× sudo iptables -A OUTPUT -p tcp -m conntrack --ctstate NEW -m multiport --dports 80,443 ACCEPT
○ sudo iptables -A OUTPUT -p tcp -m conntrack --ctstate NEW -m multiport --dports 80,443 -j ACCEPT

よく見てみたら、けっこう間違ってるじゃないか。
iptablesは複雑で難しいな。
のび太は1から全部読み返してみて、どこがどう間違っているか指摘しろ。
0968login:Penguin2010/05/10(月) 20:52:45ID:o8QQ0v0D
なんというできるジャイアン
0969ジャイアン ◆J1N3P2v8mu/2 2010/05/14(金) 21:06:05ID:c090gNNJ
以下の内容でload-firewall-rulesというシェルスクリプトを作った。
ほとんど全部、誰かが作ったやつのコピペだ。
のび太はよく検証しておかしなところがあったらおしえろ。

INPUTもOUTPUTも、やりとりするパケットの大半はESTABLISHEDになるみたいだから、
これを通すルールを一番上にした。
manによるとRELATEDはFTPデータ転送とかICMPエラーとかで使われるらしいが、
他にどんなのがRELATEDとして扱われるか、RELATEDを通さないとどんな問題があるか
のび太はよく調べて報告しろ。
0970ジャイアン ◆J1N3P2v8mu/2 2010/05/14(金) 21:08:49ID:c090gNNJ
---ここから

#!/bin/sh

#各チェインを初期化する
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT


#各チェインのポリシーを設定する
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP
0971ジャイアン ◆J1N3P2v8mu/2 2010/05/14(金) 21:12:56ID:c090gNNJ
#OUTPUTチェインにルールを追加する

#既存の接続とそれに関連する接続を通す
/sbin/iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

#DNSサーバーへの新規接続を通す
/sbin/iptables -A OUTPUT -p udp -d 10.0.2.3 -m udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT

#WWWサーバーへの新規接続を通す
/sbin/iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW -j ACCEPT

#NTPサーバーへの新規接続を通す
/sbin/iptables -A OUTPUT -p udp -m udp --sport 123 --dport 123 -m conntrack --ctstate NEW -j ACCEPT

#DHCPサーバーへの新規接続を通す
/sbin/iptables -A OUTPUT -p udp -d 10.0.2.2 -m udp --sport 68 --dport 67 -m conntrack --ctstate NEW -j ACCEPT

#メールサーバーへの新規接続を通す
/sbin/iptables -A OUTPUT -p tcp -m multiport --dports 25,110 -m conntrack --ctstate NEW -j ACCEPT

#自分自身への新規接続(loopback)を通す
/sbin/iptables -A OUTPUT -o lo -s 127.0.0.0/255.0.0.0 -d 127.0.0.0/255.0.0.0 -m conntrack --ctstate NEW -j ACCEPT

#pingを通す
/sbin/iptables -A OUTPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
0972ジャイアン ◆J1N3P2v8mu/2 2010/05/14(金) 21:14:20ID:c090gNNJ
#INPUTチェインにルールを追加する

#既存の接続とそれに関連する接続を通す
/sbin/iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

#自分自身からの新規接続(loopback)を通す
/sbin/iptables -A INPUT -i lo -s 127.0.0.0/255.0.0.0 -d 127.0.0.0/255.0.0.0 -m conntrack --ctstate NEW -j ACCEPT

#LAN内部からのpingを通す
/sbin/iptables -A INPUT -p icmp -s 10.0.2.0/255.255.255.0 -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT

---ここまで
0973login:Penguin2010/05/15(土) 12:11:57ID:GGpTElO6
>970
頻繁に使うIPアドレスはわかりやすい名前の変数に入れておくと、後々メンテするときにパッと見てどんなルールなのか理解しやすいかもしれない。
 SELF=`ifconfig eth0 | grep "inetアドレス" | awk '{print $1}' | sed 's/.*://'`
 DNS='192.168.0.1'
 BCAST='255.255.255.255'
 ANY='0.0.0.0/0'
こんな風に書いておけば$SELFとか$ANYで参照すればいいし。

|#各チェインを初期化する
直後にDROPしているからACCEPTしている3行は必要ないと思う。

あとは以下を最後に入れておくとdmesgでDROPしたログが取れて便利かもしれない。
 iptables -N LOGGING
 iptables -A LOGGING -j LOG --log-level warning --log-prefix "DROP:" -m limit
 iptables -A LOGGING -j DROP
 iptables -A INPUT -j LOGGING
 iptables -A OUTPUT -j LOGGING
0974ジャイアン ◆J1N3P2v8mu/2 2010/05/15(土) 21:24:32ID:1+V3dTpu
$がついてるのは変数というものか。
確かにそうしている例が多かったな。
シェルスクリプトについては、まだ知らないことがたくさんあるから、
今回は単純にコマンドを並べただけにした。
知識が増えるにつれて、少しづつ改良できるようになるといいな。

チェインの初期化についても、のび太の言う通りだが、
こんな風にしている奴が多かったから、俺も真似してみた。
-Fオプションはルールを消すだけでポリシーはそのままだから
なんとかかんとかって言ってた奴がいたが、やっぱり要らないよな。

ログの取り方はドキュメントに少し書いてあった。
同じ内容であふれないように「-m limit」で頻度を調整するみたいだな。
-jオプションで指定するターゲットもたくさんあって訳が分からんのだが、
LOGターゲットについては後で余裕があったら調べてみようかな。
0975ジャイアン ◆J1N3P2v8mu/2 2010/05/17(月) 21:56:00ID:s3cgTh1e
>>970-972のスクリプトでファイヤーヲールを設定できるわけだが、
PCを再起動するとその設定は失われてしまうので
起動する度にスクリプトを実行しないといけないらしい。
0976login:Penguin2010/05/18(火) 10:26:57ID:cIfMJtXp
>975
ttps://forums.ubuntulinux.jp/viewtopic.php?pid=26906
ちょっと古いけど参考になりそうな記事。
もしかするとufwに挑戦しないといけないのかもしれない。
0977login:Penguin2010/05/18(火) 10:46:30ID:rcU8yBdM
もう2年か。DVD再生できなかったとか言ってた頃よりずいぶんスキルアップしたなwwww
0978ジャイアン ◆J1N3P2v8mu/2 2010/05/18(火) 21:13:58ID:e42ouVj1
http://manpages.ubuntu.com/manpages/lucid/en/man5/interfaces.5.html

/etc/network/if-pre-up.dにスクリプトを置いておくと
ネットワークインターフェイスが起動するときに
それを自動で実行すると書いてある。

これにはrun-partsというのを使っているそうだが、

http://manpages.ubuntu.com/manpages/lucid/en/man8/run-parts.8.html

ファイル名に制約があるらしい。
大文字、小文字、数字、アンダースコア、ハイフン
だけにしろというようなことが書いてある。
0979ジャイアン ◆J1N3P2v8mu/2 2010/05/18(火) 21:52:34ID:e42ouVj1
network-managerを使ってると都合が悪いというようなことが
ドキュメントにも書いてあったんだが、
>>976の奴の場合は、他に原因があったみたいだな。
ドキュメントの記述が古いのだろうか。
いずれにせよ、俺はnetwork-managerをインストールしてないから関係なさそうだな。
0980野比 のび太2010/05/18(火) 22:19:29ID:vVeBSaym
g
0981ジャイアン ◆J1N3P2v8mu/2 2010/05/19(水) 21:05:40ID:wnbKF00R
load-firewall-rules (>>970-972) を/etc/network/if-pre-up.dにコピーして
sudo cp load-firewall-rules /etc/network/if-pre-up.d

スクリプトとして実行可能にする
sudo chmod 744 /etc/network/if-pre-up.d/load-firewall-rules

これで起動時に自動でload-firewall-rulesが実行されて
ファイヤーヲールが設定されるだろう。
0982ジャイアン ◆J1N3P2v8mu/2 2010/05/19(水) 21:20:42ID:wnbKF00R
と思ったが、

sudo iptables -L -v -n

で確認したところ、ルールが重複しているのに気づいた。
ネットワークインターフェイスはloとeth0の2つがあるから、
load-firewall-rulesが2回実行されるせいだろうか。
のび太は原因を調べて報告しろ。

ルールの初出の順番が変わらなければたいした影響もないだろうが、
気に入らないのでどうにかしたいところだ。
0983login:Penguin2010/05/20(木) 00:40:47ID:dmWfHf7x
祝・2周年記念
 
ジャイアンと共に歩んできたこの2年
お前はずっと「心の友」だったんだぜ!
 
これからも細く、長く、うぶんちゅと共にあらんことを
0984login:Penguin2010/05/20(木) 02:05:02ID:YqDTyTR2
もうすぐ1000か。完走するとは思わなかった。
0985ジャイアン ◆J1N3P2v8mu/2 2010/05/20(木) 21:48:26ID:DPZTmPfy
iptables-saveとiptables-restoreというのを使うやり方が
ドキュメントに書いてあるから、これを試してみよう。

http://manpages.ubuntu.com/manpages/lucid/man8/iptables-save.8.html
http://manpages.ubuntu.com/manpages/lucid/man8/iptables-restore.8.html

iptablesのルールを保存、復元するのに使うコマンドらしい。

iptables-saveでルールをファイルに保存しておいて、
そのファイルを使ってルールを復元するスクリプトを
/etc/network/if-preup.dに置いておくわけだな。
>>976と同じ方法だ。これはうまくいったみたいだから期待できそうだな。
0986ジャイアン ◆J1N3P2v8mu/2 2010/05/21(金) 20:39:39ID:uh6zHexK
load-firewall-rulesは邪魔だからホームフォルダに移動して
sudo mv /etc/network/if-pre-up.d/load-firewall-rules ~/

改めてファイヤーヲールを設定する。
sudo load-firewall-rules

その設定をsaved-firewall-rulesに保存して
sudo iptables-save > saved-firewall-rules

これを/etc/networkにコピーする
sudo cp saved-firewall-rules /etc/network

/etc/network/saved-firewall-rulesから設定を復元するスクリプトを作って
それを/etc/network/pre-up.dにコピーして実行可能にする。
このスクリプトの内容は
#!/bin/sh
/sbin/iptables-restore < /etc/network/saved-firewall-rules
0987ジャイアン ◆J1N3P2v8mu/2 2010/05/21(金) 21:08:39ID:uh6zHexK
再起動して確認したら、今度は重複していない。
何だか知らんが、とりあえずよしとするか。

ここまでの内容をまとめると

・iptablesコマンドでルールを設定する。(>>945,951-952,957,961,964,965,970-972)
・再起動するとルールは消えてしまうので、シェルスクリプトで起動時に自動でルールを設定する。(>>975
・/etc/network/if-pre-up.dにルールを復元するスクリプトを置いておくと
  インターフェイスが起動するときに実行される。(>>978
・iptables-saveコマンドでiptablesの設定を書き出してファイルに保存できる。(>>985-986
  これには「リダイレクト」という機能を使うといい。
・このファイルとiptables-restoreコマンドでルールを復元できる。リダイレクトを使う。(>>985-986
レス数が950を超えています。1000を超えると書き込みができなくなります。