なにかのWiki
ファイアーウォールの実験とか
最終更新:
匿名ユーザー
-
view
SolarisでファイヤーウォールというかPCルータ
ipfilter
インストールログなど
「make package」でpkgaddまでされると言ってるけどなんかされなかった。
ヴァージョンによる違いかsolaris9だからか?
まぁともかく
ヴァージョンによる違いかsolaris9だからか?
まぁともかく
# tar -zxvf ip-fil3.4.**.tar.gz # cd ip-fil3.4.** #/usr/ccs/bin/make solaris # cd SunOS5 # /usr/ccs/bin/make package # /usr/ccs/bin/make install
でpkgaddが実行された。
あとは/etc/opt/ipf/ipf.confにルールを書きますかな。
NATもやりたいからNICがもう一枚欲しいところだ。
家に有ったNICを試したが認識せずというか現在使ってるNICまで認識しなくなった…
とりあえずせっかく常時立ち上げにしてるのでPCルーターにしたい
あとは/etc/opt/ipf/ipf.confにルールを書きますかな。
NATもやりたいからNICがもう一枚欲しいところだ。
家に有ったNICを試したが認識せずというか現在使ってるNICまで認識しなくなった…
とりあえずせっかく常時立ち上げにしてるのでPCルーターにしたい
さりげなく廃棄寸前マシンからIntelNICを発見
動作確認もできたので使ってみよう
動作確認もできたので使ってみよう
NIC認識した
んではNATのルールを書いてみる
http://www.wakhok.ac.jp/~kanayama/summer/02/site/node57.html
(何か最近卒研のほうが片手間だ)
んではNATのルールを書いてみる
http://www.wakhok.ac.jp/~kanayama/summer/02/site/node57.html
(何か最近卒研のほうが片手間だ)
"ipfstat -i"で現在の状況を表示だが
open : No such file or directory
なんでやねん!
ipnatでも似たような事態に…、ふ~む
strngsを使ってバイナリ内に書いてあるファイル名らしき物を探す
ipnatでも似たような事態に…、ふ~む
strngsを使ってバイナリ内に書いてあるファイル名らしき物を探す
ipfilter(in)
Usage: %s [-6aAfhIinosv] [-d <device>]
[-M corefile] [-N symbol-list]
%s -t [-S source address] [-D destination address] [-P protocol] [-T refreshtime] [-C] [-d <device>]
/dev/ipf
6aACfghIilnoqstvd:D:M:N:P:S:T:
/dev/ipstate
open
/dev/ipauth
%s : Invalid protocol: %s
%s : Invalid refreshtime < 1 : %s
これの辺が怪しい…
/devの下をチェックしたら/dev/ipstateが無かったので手動でリンクさせる。
ipnatも/dev/ipnatを見ていたこいつも手動でリンク(良いのか?)
とりあえず、動いた。
が、しかしnatはつながらず…
/devの下をチェックしたら/dev/ipstateが無かったので手動でリンクさせる。
ipnatも/dev/ipnatを見ていたこいつも手動でリンク(良いのか?)
とりあえず、動いた。
が、しかしnatはつながらず…
掲示板を見てるとこんな話題発見。
152 名前:名無しさん@お腹いっぱい。[] 投稿日:03/12/07 15:49 おしえてください ipf で、アドレスのとこに0.0.0.0みたいな表記してるのって どういう意味なんでしょうか? 0.0.0.0/0 と 0.0.0.0/32 で意味は変わりすか? あと、単に 0 って書くと何を差すのでしょう?? 153 名前:名無しさん@お腹いっぱい。[sage] 投稿日:03/12/07 16:47 >>152 0.0.0.0/0 は 0.0.0.0の0bit分を比較するので、どんなアドレスにもmatchする。 従って 0.0.0.0/0 も 1.2.3.4/0 も同じ意味。 0.0.0.0/32 は 0.0.0.0の32bit分を比較するので、0.0.0.0にしかmatchしない。 0はアドレスとしては0.0.0.0と同義。これはinet_aton()あたりの仕様だが、 ライブラリによってはparseできない(しない)ものも。SEE ALSO inet_aton(3) あと、0.0.0.0 は書く場所によっては特殊な意味を持つ場合もある。 ipnat.confではinterfaceについてるアドレスに置換されたり。詳しくは各manを読め。
参考にさせて貰おう。
しまった…
外からのssh蹴ってるよ…
ウワーン
つか、重いのはipfilterの仕業なのか?
外からのssh蹴ってるよ…
ウワーン
つか、重いのはipfilterの仕業なのか?
重い理由はkeep stateにしていなかった為だった…
あとNATが動かなかった原因判明
http://www.amy.hi-ho.ne.jp/tachibana/solaris/nat/nat.html~
ルータになってなかった…(IPフォワードが無効になってた)
上のページでも書いてあるけど/etc/defaultrouterがあった場合
/etc/rc2.d/S69inetでIPフォワードは無効になる。
その代わりに/etc/getawaysがいるわけだ。
ただ、静的ルーティングで十分な場合defaultrouterで十分なので
S69inetのスクリプトを書き換えてしまった方が早いかもしれない。
ノートをつかって動作確認できた。
あとNATが動かなかった原因判明
http://www.amy.hi-ho.ne.jp/tachibana/solaris/nat/nat.html~
ルータになってなかった…(IPフォワードが無効になってた)
上のページでも書いてあるけど/etc/defaultrouterがあった場合
/etc/rc2.d/S69inetでIPフォワードは無効になる。
その代わりに/etc/getawaysがいるわけだ。
ただ、静的ルーティングで十分な場合defaultrouterで十分なので
S69inetのスクリプトを書き換えてしまった方が早いかもしれない。
ノートをつかって動作確認できた。
DHCP
お次はDHCPクライアントでのホスト名問題かな?
http://warp.syns.net/7/2/
あとDHCPクライアントについて
http://docs.sun.com/db/doc/816-3958/6ma71jihe?l=ja&a=view
http://warp.syns.net/7/2/
あとDHCPクライアントについて
http://docs.sun.com/db/doc/816-3958/6ma71jihe?l=ja&a=view
solarisネイティブのDHCPはよくわからんので、isc-dhcp使うことにする。
http://www.isc.org/products/DHCP/
http://www.isc.org/products/DHCP/
/etc/defaultrouter
を適当にリネームするか消すか移動させる。
/etc/hostname.[NIC]
のDHCPクライアント向けの方はファイルだけ用意して中身に何も書かず
を適当にリネームするか消すか移動させる。
/etc/hostname.[NIC]
のDHCPクライアント向けの方はファイルだけ用意して中身に何も書かず
もしNICが2枚以上あって片方だけでdhcpクライアントが利用したければ
/etc/dhclient.confに
/etc/dhclient.confに
interface "iprb0" {
send dhcp-client-identifier 1:00:90:27:3a:43:a6;
send dhcp-lease-time 86400;
}
と記述してdhclientを起動。
下は簡単な起動のシェルスクリプト
下は簡単な起動のシェルスクリプト
#!/bin/sh
case "$1" in
'start')
/sbin/dhclient
;;
'stop')
/sbin/dhclient -r
;;
*)
echo "Usage: $0 { start | stop }"
exit 1
;;
esac
exit 0
あとはローカル向けのdhcpdの立ち上げ
/etc/dhcpd.confを用意する。
/etc/dhcpd.confを用意する。
authoritative;
ddns-updates off;
ddns-update-style none;
log-facility local;
subnet xx.xx.xx.xx. netmask 255.255.255.0 {
interface "xxx";
default-lease-time 1800;
max-lease-time 7200;
option domain-name "localnet";
option domain-name-servers xx.xx.xx.xx.;
option routers xx.xx.xx.xx;
range xx.xx.xx.xx xx.xx.xx.xx;
}
/etc/dhcpd.leasesも作る。
# touch /etc/dhcpd.leases