【NW】pfsense VS Vyatta 
Vyattaを2-3日いじってみて中々pfsenseとは性格が違ったので、そのときの備忘録としてのメモとベンチなどを取ってみました。
ついでにどう違うか比較してみました。

Vyattaバージョン

vyatta@vyatta# uname -a
Linux vyatta 2.6.35-1-586-vyatta #1 SMP Fri Feb 4 05:07:37 PST 2011 i686 GNU/Linux


pfsenseバージョン

2.0-RC1 (i386)
built on Fri Apr 1 20:54:38 EDT 2011



amd64を使うべきか悩みましたが2Gしかメモリ積んでいないし相手が32ビットなのであえて32ビット版を使っています。

使用したハードウェア構成

このご時世仮想マシンではなくて実マシンを使っています。HDDも結構余ってるのでHDDに入れて実験しました。

Vyattaとpfsenseを入れたマシン

MB: P5M2/2GBL

これのSASオミット版です


Mem DDR2 800(667動作) 2G*1
CPU PentiumDC 5200@定格
NIC Broadcom BCM5721 PCI-E Gb LAN*2(オンボード)




写真にはDualportなNICが刺さってますが実験の時には抜きました。ifconfigしたときにeth0から6まで並ぶのを見るのは幸せな気分になれる反面間違えが増えますw

AB!(Apache Bench)&IperfされるNAPT内側のマシン構成

OS BacktrackLinux 4 R2
MB TPower I45
CPU E5400@定格
Mem DDR2 800 2GB*2
NIC RTL8111/8168B PCI Express Gigabit Ethernet controller

いつもの実験用バラックマシンです。BTはUSBに入れておくとサクッと実験用マシンを作れるので便利です。

NAPT外側マシン

OS Ubuntu 10.0.4 amd64
MB TYAN-Toledo-i3210W-i3200R-S5220
CPU C2Q6600@定格
Mem Mem DDR2 800 2GB*2
NIC Intel 82573L Gigabit Ethernet Controller*2

信頼のintelNIC

基本設定



---Vyatta---


Vyatta はルーターとして注力してるだけあって、vbashと呼ばれる(いわゆるCISCOのIOSライクな体系の)コマンドを持った独自のシェルを持っていて、方言さえ吸収できればそこらのネットワーク機器をいじったことのある人なら勘で設定できるようになってます。

Configureでコンフィグレーションモードに入ってset interface ethernet ethx addressでアドレスを固定して…といった感じです。
ちなみに、デフォルトでは全てAcceptになっていてパケットは全て通ります。

ただ、インストールが終わるといきなり$プロンプトなので、初心者向けかと言われるとちょっと悩みます(初心者がこんなものいじるかというのは置いておいて w)。ドキュメントは揃っているので必要なことは全てドキュメントを読めば記述してありますが、どちらかというとこの手の機器をいじったことのある中級者向けだと思います。

ちなみにvbashと言いつつも中身はDebianベースなのでsudo bash等と打てばrootで普通のbashが使えます。aptなどもレポジトリを追加すれば普通のパッケージも入ります。

一応WebUIも持っているは持っていますが基本はSSH/S0(シリアルポート)などからCLIで設定することになると思います。


---pfsense---


インストールが終わったらインターフェースのIPを指定すれば最初からDHCPdが有効になるので、そこから初期設定含めてWebUIから行うのがメインです。次へ次へで基本設定は終わるのでわかりやすいのはこっちだと思います。
pfsenseはFirewallなので、デフォルトは外からのパケットは全て破棄されます。たまにこれを忘れて繋がらないと悩むことがありますw
NAT,NAPTなんかはこっちの方が直感的なUIなので設定しやすいです。

設定すればSSHも使えるので、tcsh等のシェルからFWなどの設定をしようと思えば色々設定できますが、下手にいじるとWebUIがバグることがあるので注意が必要です。
BSDなのでPortsも使えます。まあBSDを使うような人はやろうと思ったら何でも出来ると思いますが。


WebUI



---vyatta---


GUIといっても簡易的なものです。
コマンドがディレクトリになっていて、そこに値を入れるようになっています。
vbashコマンドと対応しているので、CLIがわからないとわかりづらいと思います。




DNATのポリシーをいじっているとき、SSHとWebUIからいじっていたらWebUIからCommitした瞬間SSHの方の設定がCommit出来なくなってDeleteすら出来なくなったというバグ?があったので同時にいじるのはおすすめしません


---pfsense---


Vyattaとは全く違って高機能です。




市販のBBルータのようなUIなのである程度わかれば苦労はないと思います。
逆に設定するときにはトップから一々辿らないといけないとも言えますが。
viで/cf/conf/config.xmlを直に編集すればCUIから全て設定できると言えばできますが…。

Config




---vyatta---


まずVyattaの設定です。基本的なNAPTのみを有効にした場合の性能です。


config
interfaces {
ethernet eth4 {####LANインターフェース########
address 192.168.3.45/24
duplex auto
hw-id 00:18:f3:7d:5f:c2
smp_affinity auto
speed auto
}
ethernet eth5 {####WANインターフェース########
address 192.168.1.46/24
duplex auto
hw-id 00:18:f3:7d:5f:c3
smp_affinity auto
speed auto
}
loopback lo {
}
}
service {
https {
}
nat {
rule 10 { ####ApacheBenchのNAPTエントリ####
destination {
port 80
}
inbound-interface eth5 ####Eth5が外側のインターフェース####
inside-address {
address 192.168.3.46 ####←NAPT先マシン####
}
protocol tcp
type destination
}

rule 40 {########Iperf用エントリ########
destination {
port 5001
}
inbound-interface eth5
inside-address {
address 192.168.3.46
}
protocol tcp
type destination
}
rule 100 { ####内側から外側へ出るエントリ####
outbound-interface eth5
type masquerade
}

}
ssh {
port 22
protocol-version v2
}
}
system {
config-management {
commit-revisions 20
}
console {
device ttyS0 {
speed 9600
}
}
gateway-address 192.168.1.1
host-name vyatta
login {
user vyatta {
authentication {
encrypted-password ****************
}
level admin
}
}
name-server 192.168.1.18
ntp {
server 0.vyatta.pool.ntp.org {
}
server 1.vyatta.pool.ntp.org {
}
server 2.vyatta.pool.ntp.org {
}
}
package {
auto-sync 1
repository community {
components main
distribution stable
password ****************
url http://packages.vyatta.com/vyatta
username ""
}
}
syslog {
global {
facility all {
level notice
}
facility protocols {
level debug
}
}
}
time-zone GMT
}



一般的なNAPT用設定です。

最初はDNAT元アドレスにインターフェースアドレスを指定しないといけないのかと思った(つまり固定IPが必要だと思った)のですがPortを指定しておけばAddressを指定しなくても問題ない(=動的アドレスでも大丈夫)みたいです。

---pfsense---


NAPTだけを有効にした状態です。細かいことはいじってないです。




Iperf によるスループット





ーーーVyatta Iperfーーー



root@1:/home/owner# iperf -c 192.168.1.46 -i 1 -w 128K -t 30
------------------------------------------------------------
Client connecting to 192.168.1.46, TCP port 5001
TCP window size: 256 KByte (WARNING: requested 128 KByte)
------------------------------------------------------------
[ 3] local 192.168.1.22 port 57698 connected with 192.168.1.46 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 111 MBytes 934 Mbits/sec
[ 3] 1.0- 2.0 sec 111 MBytes 935 Mbits/sec
[ 3] 2.0- 3.0 sec 112 MBytes 936 Mbits/sec
[ 3] 3.0- 4.0 sec 112 MBytes 939 Mbits/sec
[ 3] 4.0- 5.0 sec 111 MBytes 935 Mbits/sec
[ 3] 5.0- 6.0 sec 112 MBytes 936 Mbits/sec
[ 3] 6.0- 7.0 sec 112 MBytes 937 Mbits/sec
[ 3] 7.0- 8.0 sec 112 MBytes 937 Mbits/sec
[ 3] 8.0- 9.0 sec 112 MBytes 940 Mbits/sec
[ 3] 9.0-10.0 sec 112 MBytes 938 Mbits/sec
[ 3] 10.0-11.0 sec 111 MBytes 931 Mbits/sec
[ 3] 11.0-12.0 sec 112 MBytes 942 Mbits/sec
[ 3] 12.0-13.0 sec 110 MBytes 925 Mbits/sec
[ 3] 13.0-14.0 sec 112 MBytes 936 Mbits/sec
[ 3] 14.0-15.0 sec 112 MBytes 940 Mbits/sec
[ 3] 15.0-16.0 sec 111 MBytes 933 Mbits/sec
[ 3] 16.0-17.0 sec 112 MBytes 943 Mbits/sec
[ 3] 17.0-18.0 sec 111 MBytes 935 Mbits/sec
[ 3] 18.0-19.0 sec 111 MBytes 935 Mbits/sec
[ 3] 19.0-20.0 sec 112 MBytes 935 Mbits/sec
[ 3] 20.0-21.0 sec 112 MBytes 935 Mbits/sec
[ 3] 21.0-22.0 sec 112 MBytes 939 Mbits/sec
[ 3] 22.0-23.0 sec 111 MBytes 934 Mbits/sec
[ 3] 23.0-24.0 sec 113 MBytes 944 Mbits/sec
[ 3] 24.0-25.0 sec 111 MBytes 933 Mbits/sec
[ 3] 25.0-26.0 sec 111 MBytes 931 Mbits/sec
[ 3] 26.0-27.0 sec 112 MBytes 936 Mbits/sec
[ 3] 27.0-28.0 sec 113 MBytes 946 Mbits/sec
[ 3] 28.0-29.0 sec 111 MBytes 930 Mbits/sec
[ 3] 29.0-30.0 sec 112 MBytes 939 Mbits/sec
[ 3] 0.0-30.0 sec 3.27 GBytes 936 Mbits/sec


そのときのCPU使用率


ATOP - vyatta 2011/04/02 18:05:01 3 seconds elapsed
PRC | sys 0.03s | user 0.00s | #proc 85 | #zombie 0 | #exit 0 |
CPU | sys 0% | user 0% | irq 3% | idle 196% | wait 0% |
cpu | sys 0% | user 0% | irq 3% | idle 97% | cpu000 w 0% |
cpu | sys 0% | user 0% | irq 1% | idle 99% | cpu001 w 0% |
CPL | avg1 0.00 | avg5 0.00 | avg15 0.00 | csw 70 | intr 104834 |
MEM | tot 2.0G | free 1.9G | cache 38.2M | buff 7.4M | slab 8.8M |
SWP | tot 0.0M | free 0.0M | | vmcom 61.4M | vmlim 1.0G |
NET | transport | tcpi 9 | tcpo 9 | udpi 0 | udpo 0 |
NET | network | ipi 170928 | ipo 170928 | ipfrw 170919 | deliv 9 |
NET | eth5 97% | pcki 242124 | pcko 121368 | si 978 Mbps | so 22 Mbps |
NET | eth4 97% | pcki 121373 | pcko 242131 | si 22 Mbps | so 978 Mbps |
NET | lo ---- | pcki 8 | pcko 8 | si 1 Kbps | so 1 Kbps |

PID SYSCPU USRCPU VGROW RGROW RDDSK WRDSK ST EXC S CPU CMD 1/1
4332 0.03s 0.00s 0K 0K 0K 0K -- - R 1% atop
1671 0.00s 0.00s 0K 0K 0K 0K -- - S 0% bgpd
1657 0.00s 0.00s 0K 0K 0K 0K -- - S 0% ripd


すごい、NAPTして1Gのトラフィック流してもCPU使用率は僅かです。さすがCiscoの機材にも勝つ性能があると言っているだけはあります。

---pfsense iperf---



owner@Server:~$ iperf -c 192.168.1.45 -w 128K -i 1 -t 30
------------------------------------------------------------
Client connecting to 192.168.1.45, TCP port 5001
TCP window size: 256 KByte (WARNING: requested 128 KByte)
------------------------------------------------------------
[ 3] local 192.168.1.14 port 57503 connected with 192.168.1.45 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 112 MBytes 942 Mbits/sec
[ 3] 1.0- 2.0 sec 112 MBytes 940 Mbits/sec
[ 3] 2.0- 3.0 sec 112 MBytes 940 Mbits/sec
[ 3] 3.0- 4.0 sec 113 MBytes 944 Mbits/sec
[ 3] 4.0- 5.0 sec 112 MBytes 941 Mbits/sec
[ 3] 5.0- 6.0 sec 112 MBytes 942 Mbits/sec
[ 3] 6.0- 7.0 sec 112 MBytes 941 Mbits/sec
[ 3] 7.0- 8.0 sec 112 MBytes 940 Mbits/sec
[ 3] 8.0- 9.0 sec 113 MBytes 946 Mbits/sec
[ 3] 9.0-10.0 sec 111 MBytes 933 Mbits/sec
[ 3] 10.0-11.0 sec 112 MBytes 942 Mbits/sec
[ 3] 11.0-12.0 sec 112 MBytes 940 Mbits/sec
[ 3] 12.0-13.0 sec 112 MBytes 942 Mbits/sec
[ 3] 13.0-14.0 sec 112 MBytes 938 Mbits/sec
[ 3] 14.0-15.0 sec 112 MBytes 942 Mbits/sec
[ 3] 15.0-16.0 sec 112 MBytes 941 Mbits/sec
[ 3] 16.0-17.0 sec 113 MBytes 945 Mbits/sec
[ 3] 17.0-18.0 sec 112 MBytes 939 Mbits/sec
[ 3] 18.0-19.0 sec 112 MBytes 944 Mbits/sec
[ 3] 19.0-20.0 sec 112 MBytes 939 Mbits/sec
[ 3] 20.0-21.0 sec 112 MBytes 938 Mbits/sec
[ 3] 21.0-22.0 sec 112 MBytes 939 Mbits/sec
[ 3] 22.0-23.0 sec 113 MBytes 944 Mbits/sec
[ 3] 23.0-24.0 sec 112 MBytes 941 Mbits/sec
[ 3] 24.0-25.0 sec 112 MBytes 943 Mbits/sec
[ 3] 25.0-26.0 sec 112 MBytes 939 Mbits/sec
[ 3] 26.0-27.0 sec 113 MBytes 945 Mbits/sec
[ 3] 27.0-28.0 sec 112 MBytes 938 Mbits/sec
[ 3] 28.0-29.0 sec 112 MBytes 941 Mbits/sec
[ 3] 29.0-30.0 sec 112 MBytes 944 Mbits/sec
[ 3] 0.0-30.0 sec 3.29 GBytes 941 Mbits/sec


そのときのCPU使用率@top

last pid: 27079; load averages: 0.00, 0.02, 0.04 up 0+00:27:40 00:35:07
33 processes: 1 running, 32 sleeping
CPU: 0.0% user, 0.0% nice, 0.0% system, 64.1% interrupt, 35.9% idle
Mem: 36M Active, 17M Inact, 48M Wired, 356K Cache, 33M Buf, 1890M Free

Vyattaは単純なスループット測定時には10%もCPUを使っていなかったので、それを考えるとpfsenseはCPUを食います。
まあ、裏でPacketFilterが動いてパケットを見ているので仕方がないのですが。





ApacheBench





---Vyatta ApacheBench---


AB先はApacheデフォルトのIt works!!ページです。
<html><body><h1>It works!</h1></body></html>


※試した限りどうもLighttpdの方がセッションを捌くのが早いのでLighttpdを使っています。


root@1:/home/owner# ab -n 10000 -c 500 http://192.168.1.46/index.html
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.1.46 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software: lighttpd/1.4.19
Server Hostname: 192.168.1.46
Server Port: 80

Document Path: /index.html
Document Length: 45 bytes

Concurrency Level: 500
Time taken for tests: 0.680 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 2781112 bytes
HTML transferred: 450180 bytes
Requests per second: 14707.29 [#/sec] (mean)
Time per request: 33.997 [ms] (mean)
Time per request: 0.068 [ms] (mean, across all concurrent requests)
Transfer rate: 3994.40 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 3 6 1.9 6 18
Processing: 4 9 7.0 9 219
Waiting: 3 8 7.0 7 217
Total: 8 15 7.7 14 224

Percentage of the requests served within a certain time (ms)
50% 14
66% 15
75% 15
80% 15
90% 16
95% 26
98% 37
99% 40
100% 224 (longest request)


長いですが要はFailed requests: 0で
Complete requests: 10000のTime taken for tests: 0.680 secondsなので、500同時セッションで10000回のアクセスを0.6秒でセッションを捌ききりました、ということです。
CPU使用率は1秒かからなかったのでatopで観測できませんでした。

ちなみにあんまりnの回数を増やすとセッションのキューに入ってしまうらしく一時待ち時間が入ってしまい、完了まで時間がばらついてしまうのでこの値になっています。configを色々いじってもいまいち効果がでなかったのでデフォルトのconfigです。




---pfsense ApacheBench---




root@1:/home/owner# ab -n 10000 -c 500 http://192.168.1.45/index.html
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
中略
Server Software: lighttpd/1.4.19
Server Hostname: 192.168.1.45
Server Port: 80

Document Path: /index.html
Document Length: 45 bytes

Concurrency Level: 500
Time taken for tests: 1.060 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 2788340 bytes
HTML transferred: 451350 bytes
Requests per second: 9431.15 [#/sec] (mean)
Time per request: 53.016 [ms] (mean)
Time per request: 0.106 [ms] (mean, across all concurrent requests)
Transfer rate: 2568.09 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 5 14 4.0 13 27
Processing: 6 21 34.9 16 702
Waiting: 6 19 34.8 15 700
Total: 15 35 35.1 28 721

Percentage of the requests served within a certain time (ms)
50% 28
66% 33
75% 37
80% 39
90% 42
95% 43
98% 46
99% 272
100% 721 (longest request)


マシンを起動しっぱなしでGWだけ入れ替えたので基本的にVyattaと同じコンディションですが、Time taken for tests: 1.060 secondsなのでやはりVyattaには単純な性能では劣ります。


Firewall




Vyatta



VyattaのFWは、いわゆるACL形式のソース/ディストIPアドレス、ポート、プロトコルで指定する条件合致型です。元々の意味のFirewallですね。
50個ほど作ってみましたがこの程度だと特にAB/Iperfの値に変化はありませんでした。

pfsense



さすがFWなだけあって、たとえば一気にセッションを張ろうとしても100セッション以上はDropする、というような設定にすることも出来ます。






oot@1:/home/owner# ab -n 10000 -c 500 http://192.168.1.45/index.html
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.1.45 (be patient)
apr_socket_recv: Connection timed out (110)
Total of 99 requests completed


という感じで100セッション以上は張ることが出来なくなりました。
ブロックする対象はn秒間にN回新しいセッションを張る、それプラスSynフラグやらRSTフラグなど、その他諸々いじれる項目は多岐にわたります。

そしてこれらの条件に合致するとロックアウトされます。それをくらうとしばらくホストに接続できなくなります。
また、あまりにやり過ぎるとDiagnostics:→Tables→Virusportに隔離されるので、ここから削除しないとそのIPは一生繋がりません


IPS(Snort)




SnortとはOpensourceなIPSで、パケットの中身をみてたとえばHTTPのヘッダに変なものが含まれていないか等の検査をするL7パケット精査ソフトウェアです。有効にするとかなり重くなります。

---vyatta---



上に書いてある設定に


[edit]
vyatta@vyatta# set content-inspection inspect-all enable
[edit]
vyatta@vyatta# set content-inspection traffic-filter preset all
[edit]
vyatta@vyatta# set content-inspection ips actions priority-1 alert
[edit]
vyatta@vyatta# set content-inspection ips actions priority-2 alert
[edit]
vyatta@vyatta# set content-inspection ips actions priority-3 alert

でSnortを有効化します。

---pfsense---



有効にするにはPackageからSnortを選んでインストールするだけです。
Snortの設定に関して言えばGUIから設定できるpfsenseの方がわかりやすいです。




IPSを有効にした状態での性能





---snortvyatta iperf---



root@1:/home/owner# iperf -c 192.168.1.46 -i 1 -w 128K -t 30
------------------------------------------------------------
Client connecting to 192.168.1.46, TCP port 5001
TCP window size: 256 KByte (WARNING: requested 128 KByte)
------------------------------------------------------------
[ 3] local 192.168.1.22 port 38723 connected with 192.168.1.46 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 26.2 MBytes 220 Mbits/sec
[ 3] 1.0- 2.0 sec 25.7 MBytes 216 Mbits/sec
[ 3] 2.0- 3.0 sec 25.8 MBytes 217 Mbits/sec
[ 3] 3.0- 4.0 sec 25.9 MBytes 217 Mbits/sec
[ 3] 4.0- 5.0 sec 25.1 MBytes 211 Mbits/sec
[ 3] 5.0- 6.0 sec 25.8 MBytes 217 Mbits/sec
[ 3] 6.0- 7.0 sec 26.0 MBytes 218 Mbits/sec
[ 3] 7.0- 8.0 sec 26.0 MBytes 218 Mbits/sec
[ 3] 8.0- 9.0 sec 26.1 MBytes 219 Mbits/sec
[ 3] 9.0-10.0 sec 25.9 MBytes 217 Mbits/sec
[ 3] 10.0-11.0 sec 26.0 MBytes 218 Mbits/sec
[ 3] 11.0-12.0 sec 26.0 MBytes 218 Mbits/sec
[ 3] 12.0-13.0 sec 25.9 MBytes 217 Mbits/sec
[ 3] 13.0-14.0 sec 25.4 MBytes 213 Mbits/sec
[ 3] 14.0-15.0 sec 26.0 MBytes 218 Mbits/sec
[ 3] 15.0-16.0 sec 25.8 MBytes 216 Mbits/sec
[ 3] 16.0-17.0 sec 25.9 MBytes 217 Mbits/sec
[ 3] 17.0-18.0 sec 25.2 MBytes 211 Mbits/sec
[ 3] 18.0-19.0 sec 25.7 MBytes 216 Mbits/sec
[ 3] 19.0-20.0 sec 25.8 MBytes 216 Mbits/sec
[ 3] 20.0-21.0 sec 26.0 MBytes 218 Mbits/sec
[ 3] 21.0-22.0 sec 25.4 MBytes 213 Mbits/sec
[ 3] 22.0-23.0 sec 25.3 MBytes 212 Mbits/sec
[ 3] 23.0-24.0 sec 25.2 MBytes 212 Mbits/sec
[ 3] 24.0-25.0 sec 25.8 MBytes 216 Mbits/sec
[ 3] 25.0-26.0 sec 26.0 MBytes 218 Mbits/sec
[ 3] 26.0-27.0 sec 25.3 MBytes 212 Mbits/sec
[ 3] 27.0-28.0 sec 25.9 MBytes 217 Mbits/sec
[ 3] 28.0-29.0 sec 26.0 MBytes 218 Mbits/sec
[ 3] 29.0-30.0 sec 25.9 MBytes 217 Mbits/sec
[ 3] 0.0-30.0 sec 773 MBytes 216 Mbits/sec


CPU使用率


ATOP - vyatta 2011/04/02 21:41:55 3 seconds elapsed
PRC | sys 1.29s | user 1.70s | #proc 84 | #zombie 0 | #exit ? |
CPU | sys 16% | user 56% | irq 34% | idle 94% | wait 0% |
cpu | sys 15% | user 54% | irq 26% | idle 5% | cpu001 w 0% |
cpu | sys 1% | user 1% | irq 8% | idle 90% | cpu000 w 0% |
CPL | avg1 0.43 | avg5 0.13 | avg15 0.04 | csw 718 | intr 33820 |
MEM | tot 2.0G | free 1.8G | cache 45.3M | buff 6.7M | slab 9.6M |
SWP | tot 0.0M | free 0.0M | | vmcom 209.4M | vmlim 1.0G |
NET | transport | tcpi 5 | tcpo 5 | udpi 0 | udpo 0 |
NET | network | ipi 40968 | ipo 84660 | ipfrw 84655 | deliv 5 |
NET | eth5 22% | pcki 56482 | pcko 28272 | si 228 Mbps | so 5298 Kbps |
NET | eth4 22% | pcki 28536 | pcko 56396 | si 5345 Kbps | so 228 Mbps |
NET | lo ---- | pcki 4 | pcko 4 | si 0 Kbps | so 0 Kbps |

PID SYSCPU USRCPU VGROW RGROW RDDSK WRDSK ST EXC S CPU CMD 1/1
3464 1.27s 1.70s 0K 0K 0K 0K -- - R 98% snort
3787 0.02s 0.00s 0K 0K 0K 0K -- - R 1% atop
1693 0.00s 0.00s 0K 0K 0K 0K -- - S 0% bgpd
106 0.00s 0.00s 0K 0K 0K 0K -- - S 0% bdi-default
3786 0.00s 0.00s 0K 0K 0K 0K -- - S 0% flush-8:0


予測はしていましたがかなり全体のパフォーマンスが落ちました。
まあ、それでも100Mbps以上の速度はあるので現在の環境なら問題ないですけどね。あとは見るパケットをもっと限定するとかチューンが必要だと思います。


---pfsense---




root@1:/home/owner# iperf -c 192.168.1.45 -i 1 -w 128K -t 30
------------------------------------------------------------
Client connecting to 192.168.1.45, TCP port 5001
TCP window size: 256 KByte (WARNING: requested 128 KByte)
------------------------------------------------------------
[ 3] local 192.168.1.22 port 47776 connected with 192.168.1.45 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 75.9 MBytes 637 Mbits/sec
[ 3] 1.0- 2.0 sec 21.5 MBytes 180 Mbits/sec
[ 3] 2.0- 3.0 sec 23.3 MBytes 196 Mbits/sec
[ 3] 3.0- 4.0 sec 24.6 MBytes 206 Mbits/sec
[ 3] 4.0- 5.0 sec 28.6 MBytes 240 Mbits/sec
[ 3] 5.0- 6.0 sec 31.1 MBytes 261 Mbits/sec
[ 3] 6.0- 7.0 sec 34.5 MBytes 289 Mbits/sec
[ 3] 7.0- 8.0 sec 36.6 MBytes 307 Mbits/sec
[ 3] 8.0- 9.0 sec 40.7 MBytes 341 Mbits/sec
[ 3] 9.0-10.0 sec 46.5 MBytes 390 Mbits/sec
[ 3] 10.0-11.0 sec 37.9 MBytes 318 Mbits/sec
[ 3] 11.0-12.0 sec 43.9 MBytes 368 Mbits/sec
[ 3] 12.0-13.0 sec 48.3 MBytes 405 Mbits/sec
[ 3] 13.0-14.0 sec 50.9 MBytes 427 Mbits/sec
[ 3] 14.0-15.0 sec 53.8 MBytes 451 Mbits/sec
[ 3] 15.0-16.0 sec 54.6 MBytes 458 Mbits/sec
[ 3] 16.0-17.0 sec 55.5 MBytes 466 Mbits/sec
[ 3] 17.0-18.0 sec 55.3 MBytes 464 Mbits/sec
[ 3] 18.0-19.0 sec 54.4 MBytes 457 Mbits/sec
[ 3] 19.0-20.0 sec 55.8 MBytes 468 Mbits/sec
[ 3] 20.0-21.0 sec 54.0 MBytes 453 Mbits/sec
[ 3] 21.0-22.0 sec 22.6 MBytes 190 Mbits/sec
[ 3] 22.0-23.0 sec 27.2 MBytes 229 Mbits/sec
[ 3] 23.0-24.0 sec 29.5 MBytes 247 Mbits/sec
[ 3] 24.0-25.0 sec 32.9 MBytes 276 Mbits/sec
[ 3] 25.0-26.0 sec 35.8 MBytes 300 Mbits/sec
[ 3] 26.0-27.0 sec 38.0 MBytes 319 Mbits/sec
[ 3] 27.0-28.0 sec 39.9 MBytes 334 Mbits/sec
[ 3] 28.0-29.0 sec 41.7 MBytes 350 Mbits/sec
[ 3] 29.0-30.0 sec 44.5 MBytes 373 Mbits/sec
[ 3] 0.0-30.0 sec 1.21 GBytes 347 Mbits/sec

ブレが…
一応全てのルールは有効にしてあるのですがVyattaとは有効になってる状態が違う可能性があるので横並びの比較は出来ません。
このようにどの程度メモリを割り当てるかという設定によっても変わってくると思います。




Vyattaにもこれがあると思うんですが疲れたので誰かこれを変更したらどうなるかベンチとって教えてください(他力本願


IPSを有効にした状態でのAB




---snortvyatta AB---




root@1:/home/owner# ab -n 10000 -c 500 http://192.168.1.46/index.html
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Server Software: lighttpd/1.4.19
Server Hostname: 192.168.1.46
Server Port: 80

Document Path: /index.html
Document Length: 45 bytes

Concurrency Level: 500
Time taken for tests: 3.918 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 2780000 bytes
HTML transferred: 450000 bytes
Requests per second: 2552.52 [#/sec] (mean)
Time per request: 195.885 [ms] (mean)
Time per request: 0.392 [ms] (mean, across all concurrent requests)
Transfer rate: 692.97 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 55 383.0 12 3802
Processing: 0 13 23.6 12 244
Waiting: 0 13 23.6 12 244
Total: 1 68 385.3 24 3816

Percentage of the requests served within a certain time (ms)
50% 24
66% 24
75% 24
80% 24
90% 25
95% 28
98% 225
99% 3023
100% 3816 (longest request)


IPS無効時には0.6秒しかかからなかったのにIPSを有効にすると7倍近くかかるようになってしまいました。
L7まで見るIPSなので納得は出来ますが思いの外パフォーマンスの低下が大きいです。
ちなみにLogにはアタックログが残ります。AlertではなくてDropにしておけばそのIPはもうさよなライオンします。

vyatta@vyatta:~$ show ips log
================================================
IPS events logged since Sat Apr 2 19:15:19 2011
================================================
2011-04-02 19:16:51.218303 {TCP} 192.168.1.22:49146 -> 192.168.3.46:80
(bad-unknown) Potentially Bad Traffic (priority 2)
[129:5:1] stream5: Bad segment, overlap adjusted size less than/equal 0
---------------------------------------------------------------------------
2011-04-02 19:16:51.218316 {TCP} 192.168.1.22:49147 -> 192.168.3.46:80
(bad-unknown) Potentially Bad Traffic (priority 2)
[129:5:1] stream5: Bad segment, overlap adjusted size less than/equal 0
---------------------------------------------------------------------------



pfsense



root@1:/home/owner# ab -n 10000 -c 500 http://192.168.1.45/index.html
中略
Server Software: lighttpd/1.4.19
Server Hostname: 192.168.1.45
Server Port: 80

Document Path: /index.html
Document Length: 45 bytes

Concurrency Level: 500
Time taken for tests: 1.229 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 2787784 bytes
HTML transferred: 451260 bytes
Requests per second: 8139.71 [#/sec] (mean)
Time per request: 61.427 [ms] (mean)
Time per request: 0.123 [ms] (mean, across all concurrent requests)
Transfer rate: 2215.99 [Kbytes/sec] received


確かに遅くはなっていますが無効の時と大差ないですね


結論


古い環境や基礎的なルーティングだけあればいいなら Vyatta、パケットフィルタやその他諸々詰め込みたいならpfsenseを選ぶべき

という「んなこと常識だろ!」という結論が出ました。それにしてもVyattaの軽さは凄いと思いました。ゲームでレイテンシを出したくないらVyattaを使うのがいいのではないですかね。

反面、ごてごてしてるながらもやはりpfsenseは高性能でした。
またちょっとネットワーク環境を変えようと思っているので、そのときはpfsenseを本格的に使おうかなと思っています。

[ コメントを書く ] ( 2034 回表示 )   |  このエントリーのURL  |  $star_image$star_image$star_image$star_image$star_image ( 3 / 875 )  |  
【その他】ここ一週間雑感 
色々ごたごたして技術的なことを殆どしてないので今回の更新はここ一週間の雑感です


・地震発生からもう一週間経つのですが、計画停電によって色々と大変です。
まぁこんな状況なので、落ち着くまでしばらく実験マシンに火を入れるのは控えようと思います。というか今週の何もしてなさがやばいです…。
Twitter等で流れてきますが、カンニング云々で騒いでいたのが先週の出来事だとは思えないです。


・停電は初日こそ非日常的で少し楽しいと思いましたが、何事も慣れるとだれるもので、停電中の時間の過ごし方に悩みます。
幸いIS02をテザリングしてモデムに出来るのでそれをAPにしてX40からネットが出来るので暇つぶしは出来ますが、PCを使うとなるとファイルサーバーにアクセスできないとあれがないこれがないと結構困ります。色々ツールとか置いてあるので…。
なのでこういうときは寝るのが一番という結論が出ました。まあ、起きたあとに内部DNSが落ちたままで鯖にアクセスできないだとか何かしらのトラブルと闘うことになるのですが…。



・しかし、まさかずいぶん昔に色々集めた高輝度LEDライト(1W/3W/5W)が役に立つ日が来るとは…。昔よく友達と河原に行っていたので、暗くなっても行動できるように明るいライトを集めていたのですが、それが今になって役に立ちました。




こうやってティッシュなどを巻くと光が拡散してろうそく代わりになります。







昼間の停電は大したことないのですが、夜に電気を止められると結構困ります。

ライトを探しているときに旧式の充電池が30本(1600-2150mAの単三電池が18本と700mAの単四電池が12本)発掘されましたがエネループの前ではオワコンです。
まあバッテリそのものは生きていたので使えるは使えるのですが、充電しても放置しておくと自然放電していざというときに使えないんですよね…。その辺エネループはよくできてると思います。まあ、電池が高騰してる今はあるだけ有利ですけどね。

失ってから分かる電気の大切さ。いやGeekには電気必須なので失う前から分かっていましたが。



・そんな状況なので現在この部屋でも優先度の低いマシンは落としていて、内輪用VPNは一時的に落としています。あとはバックアップサーバーとFortigateとその他実験マシンも落としているのですが、FGが動いていないだけで部屋がだいぶ静になりましたw
前までCentrecom9424SPのファンの音なんて聞こえなかったのですが、それを消してから聞こえるようになりましたw
しかし静かだと寂しいですね。轟音ファンが懐かしいです。マシン台数減らしている関係でスイッチのステータスLEDが歯抜けになっているのでそれもはやく全て埋めたいです。



・ここ最近、毎日停電する前にマシンを落として、停電から復帰したらマシンを起動して…としていると、面倒だからWebに関しては落ち着くまで外部に投げてしまおうかなあとも思ってしまいます。特に、外部にサーバースペースを貸すとなると色々パーミッションの設定だとかセキュリティー的なことに頭を悩ませないといけなくなる(静的ページだけなら特に問題ないけどCGIとかPHPを動かすとなると特に)ので、それならGoogleSitesなんかを使ってもらおうかななんて思ってしまいます。まあ、結局はこのブログ・FTPなんかは自鯖で動かすことになるので、その余ったりソースでいいなら出て行けとは言いませんがw

今更いないと思いますがサーバースペース貸してくれって言う人がいたら貸しますよ?
まあ要相談ですが。



・CMSや GoogleSitesなどを触って思ったのが、これらはほとんどWordなんかで文章を書くのと変わらないと言うことですね。この辺のものに慣れると HTMLこそわかれど設置してしまえばPHPやApacheの設定なんて見ないのでApache?何それおいしいの?というWeb屋が増えるだろうなあとおもいます。この鯖では殆どのディレクトリで無効にしてしまっていますが.htaccess位はせめて…

最近は企業もFacebookなんかでページを済ませることが多いらしいですが、やっぱりエンジニアな人は減ってしまうのですかね?Web屋もページを作るのにPC用スマホ用ガラケー用…と、対応しないといけない範囲が増えてきて正直一から作るのは投げたくなるだろうなぁとも思いますが。




・電車が止まってしまうと何も出来なくて困ります。本当は今週の火曜日(15日)に新しいアルバイトに出勤することになっていたのですが見事に出勤できなくなりました。大学でも卒業式が中止になるなど、中々にカオスな世の中で困ります。早く今まで通りになって欲しいですね。


・奇跡も、魔法も、…



眠れないついでにgdgdとかいてみました。来週から本気出す(予定


[ コメントを書く ] ( 1043 回表示 )   |  このエントリーのURL  |  $star_image$star_image$star_image$star_image$star_image ( 3 / 878 )  |  
【その他】つなみ 
地震がありましたが怪我もなく、機器の方も今のところ被害総額0円です。

どうでもいいですが直前にこんなこと言ってました














まさかこんなことになるとは

[ 2 コメント ] ( 1185 回表示 )   |  このエントリーのURL  |  $star_image$star_image$star_image$star_image$star_image ( 2.9 / 880 )  |  
【NW】IPv6 - NATPTとは 
またまたIPv6ネタです。しかも今回は概要を理解しないとかなり混乱するというか分かりづらいです。今回も検証にはGR2000を使っています。




ここに来てGR大活躍ですよ最近。実験には最適なルーターですね。NAT処理もHWでやってくれれば家庭内で実用最強ルーターなんですが(まだ言う

GRを使うので、一番確実なのは本家日立のGR2000の「解説書 Vol.1」と「構成定義ガイド CLI編 -CLIタイプ1階層入力形式」を読むことですが、それだけだとちょっと分かりづらかったので砕いて説明してみようと思います。

GR2000Bモデルを持っていて、なおかつRoute-OS8.4(8.3もコマンド類は同じようですが手元にないので未確認)を持ってる人の参考にでもなればと思います←対象者がコアすぎる
まあそのレベルの人はおそらくこんな説明不要だと思いますがw

ところで、上の「解説書 Vol.1」はオライリーではないですが、概要説明を何となく読んでいるだけでもかなり勉強になるのでおすすめです。結構真剣に。
…あまり宣伝してしまうと日立から怒られそうなのでこの辺にしておきます

そもそもNATPTとは




Network Address Translation - Protocol Translationの略で、相互に互換性のないv4とv6を互換させ、現在のIPv4体系を変更せずにIPv6を導入できるというメリットを持っています。v4-v6トンネルとは違い外から見るとネイティブv6環境に見えるのが特徴です。これから需要増えるのではないですかね?
GRの場合、IPv6の/64と言う広大なサブネットの中から/96分のアドレスを使用してv4-v6対応をさせます。
IPv6 1111:1111:1111:1111 :2222:2222:FFFF:FFFF/64

1111=グローバルアドレスPrefix
2222=/64でアドレスをもらった場合に自分で自由に使えるグローバルアドレス
FFFF=その中からNATPT用に割り当てるアドレス

IPv6では理論上65535^4個もグローバルアドレスがもらえるよ!やったね!全マシンを同一サブネットで繋いだらスイッチが血を吐くよ!
個人的には/96でもいいのでは…とか思ってしまいますが。それでもIPv4が使える全てのIP数と同じですからね…

NATPTではv6でv4のアドレスにアクセスするために 192 168 1 1をそれぞれ16進法に変換します。
192=c0
168=a8
1=01
1=01
となるので、1234:0:0:0 :0:0:0:0/96のアドレスからNATPTで変換すると
1234::c0a8:101
となります。(最後は0101が正しいのですが先頭の0は省略されるというv6の特徴でこうなります。)
ちなみに、Windows7(WinVistaも?)からはping 1234::192.168.1.1とやると

C:\Users\owner>ping 1234::192.168.1.1
1234::c0a8:101 に ping を送信しています 32 バイトのデータ:


と、自動で変換してくれます。UNIX系でもPing6なら同じように使えます。


GR2000でのNATPTの動き




まずはネットワーク図です。前回の使い回しですが。




前回との違いはGR2のNIF2/1がIPv6ではなくてIPv4であることです。v6アドレスを割り当ててもいいんですが必要ないので省きます。

先に特徴を書いておくと、v6ネットワークからv4ネットワークへは一対一でIPを使えるがv4ネットワークからv6ネットワークへは1対1NATを1つ or 1対N NAPTになる、と言うことです
まあ、これはGR2kでの動きになるので、他のベンダ(CISCOとか)でどう動くかは分かりません。

そして、NATPT-prefixと言うのが上で説明したNATPTの時に使うアドレスで、v6アドレスネットワークからv4アドレスネットワークにアクセスするときには2345::xxxx:xxxxと言うアドレスになります。1234:1:1:2:1:1::/96とかに設定してしまうとGR1のサブネットと被るので「どこにあるのか分からない」という状態になってしまい、ルーティング不可になります
なので、v6ネットワーク上でユニークな(被らない)サブネットを持つ必要があります。この場合なら1234:1:1:4::でもよかったのですがわかりやすくするためにあえて大きく変えてあります



まずGR1の設定

GR-Red(config)# sho
#Last modified by operator at Mar 5 02:29:03 2011 with version 08-04-/D
!
router name "GR-Red"
router remote_access 0.0.0.0/0
router remote_access 1234:1:1:1::/64
router telnet enable
!
line f0 ethernet 2/0
ip 1234:1:1:1::1/64
!
line f1 ethernet 2/1
ip 1234:1:1:2::1/64
!
static
2345::/96 gateway 1234:1:1:2::2


本当はこの下にDHCP6とかの設定がだらだら続くのですが今回は不要なので省略します
特徴としてはNATPT PrefixをGR2へ向けることくらいですね。

GR2の設定

!GR-Green(config)# sho
#Last modified by operator at Mar 8 23:37:34 2011 with version 08-04-/D
!
router name "GR-Green"
router remote_access 0.0.0.0/0
router ftp enable
!
line f0 ethernet 2/0
ip 1234:1:1:2::2/64
!
line f1 ethernet 2/1
ip 192.168.1.1/24
!
natpt
①natpt natptprefix 2345::
②natpt rule napt any auto
③natpt rule static_napt 1234:1:1:1::15 auto port 80 80 protocol tcp
④natpt rule static_napt 1234:1:1:1::15 auto port 22 22
⑤natpt rule static_napt 1234:1:1:1::15 auto port 22 25
⑥natpt interface f1
⑦natpt interface f0
!
static
1234:1:1:1::/64 gateway 1234:1:1:2::1
!


①などの文字はこちら側で説明のため入れました。

まず①のルールでGR2側でNAT-PTを使用する際に2345::/96プレフィックスを使うように設定します。
次に、②でNATPTで変換するプロトコルの対象を全てにし、その際のルールはNAPTによって動的に作られるようにします。
③- ⑤のルールはIPv4側のためのルールで、この場合はルーターのIPが192.168.1.1なので192.168.1.1:80にアクセスした際に IPv6の赤いサブネットにある1234:1:1:1::15:80にNAPTさせる、と言うルールです。ここが最初は意味が分からなくて中々うまくいきませんでした。

1234:1:1:1::15ではdefaultGWを1234:1:1:1::1にしてあります。

autoというのは自動的にインターフェースのアドレスを使用するという意味(=natpt rule static_napt 1234:1:1:1::15 192.168.1.1 port 80 80 protocol tcp)ですが、ここで
natpt rule static_napt 1234:1:1:1::15 192.168.1.128 port 80 80 protocol tcp
とインターフェース以外のIPを設定してもそのIPあてにアクセスは出来ませんでした。

⑤はテスト的に作ったルールで、192.168.1.1::25にSSHすると1234:1:1:1::15:22にNAPTされますよ、と言うルールですがうまく動きました。

解説書 Vol.1に書いてありますが、v4->v6にアクセスした際にはアクセスログに残るIPはprefixである2345::IPv4アドレスとなります。

つまり、自分が192.168.1.2で192.168.1.1へSSHを飛ばすと1234:1:1:1::15に2345::c0a8:102からアクセスが来ます。

逆に、1234:1:1:1::/64から2345::c0a8:102へSSHを飛ばすとルーターにNATされて192.168.1.1(ソースポートは NAPTされる)からのアクセスが来ます。つまりHTTPだとアクセスログが全て192.168.1.1で埋まります。まあ、HTTPに関してはよっぽどのことをしていない限りv6対応にそこまで苦労しないのでv6移行しろとも思いますが。

そして⑥と⑦でどのインタフェースをNAT対象にするか指定します。ここに指定したインターフェース以外はNATされません。

文字ばかりになってしまいましたが、これで今のところ期待した動きをしてくれています。
最大の問題はNATPTはRM(CPUでSW)処理になると言うことです。知っての通りGR君はNATで10Mbps程度しか出せないという問題を持っているので、あくまでも試験的な目的以外では使えないと思います。これがHW処理だったら本当に最強v6ルーターなんですが。

もっとも、このルーターそのもの相当前のものですし、解説書なんて2005年発行ですからね。その当時からこれらの機能が使えたというのは大いに評価されるべきだと思います。さすがKAMEはAlaxalaの中の人たちが作っただけはあります。

IPv6が注目されている今、GR2kはもう一度NAT周りを強化して出すべきルーターだと思います。

BSD系だとNATPT-Dが使えるみたいなのでこの辺もいつか試してみたいですね。
現在はFTP、HTTP等の主要アプリケーションが試した限りではわずかな設定でv6に対応できるので本当に必要かどうかと言われると結構微妙だったりしますが…。


[ コメントを書く ] ( 1254 回表示 )   |  このエントリーのURL  |  $star_image$star_image$star_image$star_image$star_image ( 3 / 917 )  |  
【NW】IPv6のメモ(要再検証) 
今色々とIPv6のネットワークをいじっているのですが中々に前途多難です。

その一例で(おそらくどこかの設定が足りていないのだと思いますが)FortigateでのIPv6ルーティングがうまくいっていません。

ネットワーク図




IPについては、どうせ外に出ないネットワークなので…
Googledocs でとりあえずで書いたので分かりづらいかもしれないですがGR20002B+を2台設置し、サブネットを2つ作り、その後 Fortigate300A(OS v4MR2)を置きました。疲れたのでここで「IPv6とは~」と書きませんが、/64がv4で言う/24のようなものです(説明になってない

ISISやOSPFで経路を自動設定してもおもしろいかもしれませんが、この程度の規模なのでStaticでテーブルを追加しtます。

GR1
static 1234:1:1:3::/64 gateway 1:1:1:2::2

GR2
static 1234:1:1:1::/64 gateway 1:1:1:2::1

これで両ルータ間で赤いサブネットから緑のサブネットへの疎通は出来るようになりました。ただし、RA(Router Advertisement)やDHCP6を設定してないのでケーブルを挿しただけではPCにIPv6やデフォルトルートは降ってこないのでマシンごとに route addする必要がありますが。

DHCP6とかの設定はv4の時と殆ど変わらない(RAでManaged flagを1にしないとDHCP6の設定を流してくれないくらい)ので一度わかれば難しくはないのですが、緑のサブネットはv4でのメインサブネットなので気がついたら変なIPが振られてたというのはいやなので…。

そして赤いサブネットに1234:1:1:1::3と言うホスト(BackTrack 4 R2)を設置してHTTPなりTelnetが通ることを確認します。
BackTrack(Debian)では
modprobe ipv6

を実行した後
ifconfig eth0 inet6 add 1234:1:1:1::3/64

と設定し、
route -A inet6 add 1234:1:1:3::/64 gw 1234:1:1:1::1

とするとネットワークが通じるようになりました。




参考スクリプト


しかし、Ubuntu 9.04だとルーティングテーブルを追加しようとすると
root@Server:/# route -A inet6 add 1234:1:1:1::/64 gw 1234:1:1:3::1
SIOCADDRT: Invalid argument

と言われてしまいます。何が原因なんですかね?
探してみると結構同じ問題にあたっている人がいるみたいなのですが回答にたどり着けませんでした。RAからGWを流し込む方法であればいけたのですが…。
まあ上のマシンは実はこのWeb鯖なのであんまりゴリゴリいじりたくないので、そのうち仮想環境なり実験マシンなりで検証してみます。

そして緑<->赤の疎通が出来たらメインサブネットのFG300AにIPv6アドレスを振って実験してみます。
FGでv6を有効にするにはコンソールから直に

#config sysytem global
(global) # set gui-ipv6 enable


と実行するかwebUIから辿っていくとGUI上でv6の設定が出来るようになるので幾分か楽になります。最初はv6関係はCLIから設定するしかないと思っていたのですがGUI持っていたんですね…




ただ、FortiOSv3とv4で少しIPv6の扱いが違います。FOv4だとWebUIからインターフェースにv6アドレスを振れるうえにHTTPアクセスもv6アドレスでいけるのですが、FOv3だとインターフェースのv6アドレスはCLIから振る必要があるうえ、Pingの応答のみです。




FWとしては、FOv3でもIPv6用policyは設定できます。




この状態でFG300Aが1234:1:1:1::/64にアクセスするには同一サブネット上にあるGRの1234:1:1:3::1を通っていく必要があるのでStaticRouteでそれを追加します




が、ここでテーブルを追加しても何故かFGからPingを撃つと

FG300A # execute ping6 1234:1:1:1::1
connect: Network is unreachable


と言われて到達できず。ルーティングを確認するためにコンソールに入って確認するも

FG300A # sho router static6

config router static6
edit 1
set device "port2"
set distance 1
set dst 1234:1:1:1::/64
set gateway 1234:1:1:3::1
set priority 1
next
end

と、正しいように見えるのですが…。どういう事なの…
もちろんポリシーはAll any always Acceptになっています。




ここで試しにFGで違うv6サブネットを作成して(図で言う灰色のサブネット)、緑のサブネットにあるWin7からroute add 2:1:1:1::/64 1234:1:1:3::2をしてFGを抜けていくように設定してみると問題なくルーティングはされるようです。

しばらく試行錯誤してみたのですがうまくいかないのでこの辺で気力が尽きてあきらめました
某ハッカーさんも動作確認してみるといっていたのでそれ待ちです(他人任せ

まあ他にもNAT-PT(NAPTとはちょっと違う)とか色々試してるんですが長くなるのでまた次回に。。。


[ 1 コメント ] ( 2608 回表示 )   |  このエントリーのURL  |  $star_image$star_image$star_image$star_image$star_image ( 3 / 871 )  |  

<<最初へ <戻る | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 進む> 最後へ>>