EBUG勉強会/20080929_Bridge+NAT
をテンプレートにして作成
Start:
#topicpath
----
EBUG第27回会合の勉強会 [[FreeBSDを使ってIPv6を使い込む>ht...
-二つのEther Segmentを跨いでIPv4とIPv6を運用するのに、以...
--IPv4はNATを用いてSegment-BからSegment-BへIPパケットの転...
--IPv6は (/64で割り当てられており、
これ以上サブネット分割ができないため) ブリッジ接続を行い...
これが可能かどうかを以下の環境で検証した。
OuterGW, InnerGW, ClientはいずれもOpenBSD 4.3。
Intenret
|
:
:
|
[OuterGW (+DNS)]
|em1 172.31.0.1
|
Segment A | 172.31.0....
----------------------+---------+-----------------------...
| 2001:3e0:434:4:...
|
|ne0 172.31.0.125
[InnerGW]
|ne1 192.168.64.1
|
Segment B | 192.168.64....
-----------+----------+---------------------------------...
| 2001:3e0:434:4:...
| (= S...
|fxp0 192.168.64.2
[Client]
***InnerGWの設定
IPv4はIPパケットを転送し、IPv6パケットはしないようにする。
# sysctl -w net.inet.ip.fowarding=1
# sysctl -w net.inet6.ip6.fowarding=0
経路の設定
# route add -inet default 173.31.0.1
# route add -inet6 default (OuterGWのem1側リンクローカル...
bridgeの設定
# ifconfig bridge0 create
# brconfig add ne0
# brconfig add ne1
# brconfig up
これで、ne0 <-> ne1間がブリッジ接続され、Segment-A/B間をI...
できるようになった。
NATの設定 ~
... pfを用いてNATを設定する。
---pf.conf---
ext_if="ne0"
int_if="ne1"
nat on $ext_if inet from !($ext_if) to any -> ($ext_if)
pass all
このあと、
# pfctl -f /etc/pf.conf
# pfctl -e
***Clientの設定
# ifconfig fxp0 inet6 2001:3e0:434:4:: eui64 <-グロー...
# route add -inet default 192.168.64.1
# route add -inet6 default (OuterGWのem1側リンクローカル...
= InnterGWの設定と同じ)
# vi /etc/resolv.conf <- (OuterGWのem1側リンクローカル...
***確認
この状態で、Clientにログインし、状況を観察する。
-IPv4/IPv6ともClientからインターネットへのアクセスは可能...
-ClientからSegment-AへのアクセスもIPv4/IPv6とも可能
-OuterGWからClientへのSSHログインは、IPv6のみ可能。
-Client上で、Segment-Bのパケットを観測すると、Segment-Aか...
見えていたので今回は設定を手動で行ったが、OuterGWからRAを...
-その他、Segment-Bでは、Segment-Aからの
ARP、IPv4ブロードキャストパケットなども流れていた。
sysctlによってIPレベルのforwardingを無効にしても、結局bri...
今回は特に影響もないので放っておいたが、運用に影響がでる...
pfにフィルタルールを追加するなどして対策することが必要と...
----
#topicpath
End:
#topicpath
----
EBUG第27回会合の勉強会 [[FreeBSDを使ってIPv6を使い込む>ht...
-二つのEther Segmentを跨いでIPv4とIPv6を運用するのに、以...
--IPv4はNATを用いてSegment-BからSegment-BへIPパケットの転...
--IPv6は (/64で割り当てられており、
これ以上サブネット分割ができないため) ブリッジ接続を行い...
これが可能かどうかを以下の環境で検証した。
OuterGW, InnerGW, ClientはいずれもOpenBSD 4.3。
Intenret
|
:
:
|
[OuterGW (+DNS)]
|em1 172.31.0.1
|
Segment A | 172.31.0....
----------------------+---------+-----------------------...
| 2001:3e0:434:4:...
|
|ne0 172.31.0.125
[InnerGW]
|ne1 192.168.64.1
|
Segment B | 192.168.64....
-----------+----------+---------------------------------...
| 2001:3e0:434:4:...
| (= S...
|fxp0 192.168.64.2
[Client]
***InnerGWの設定
IPv4はIPパケットを転送し、IPv6パケットはしないようにする。
# sysctl -w net.inet.ip.fowarding=1
# sysctl -w net.inet6.ip6.fowarding=0
経路の設定
# route add -inet default 173.31.0.1
# route add -inet6 default (OuterGWのem1側リンクローカル...
bridgeの設定
# ifconfig bridge0 create
# brconfig add ne0
# brconfig add ne1
# brconfig up
これで、ne0 <-> ne1間がブリッジ接続され、Segment-A/B間をI...
できるようになった。
NATの設定 ~
... pfを用いてNATを設定する。
---pf.conf---
ext_if="ne0"
int_if="ne1"
nat on $ext_if inet from !($ext_if) to any -> ($ext_if)
pass all
このあと、
# pfctl -f /etc/pf.conf
# pfctl -e
***Clientの設定
# ifconfig fxp0 inet6 2001:3e0:434:4:: eui64 <-グロー...
# route add -inet default 192.168.64.1
# route add -inet6 default (OuterGWのem1側リンクローカル...
= InnterGWの設定と同じ)
# vi /etc/resolv.conf <- (OuterGWのem1側リンクローカル...
***確認
この状態で、Clientにログインし、状況を観察する。
-IPv4/IPv6ともClientからインターネットへのアクセスは可能...
-ClientからSegment-AへのアクセスもIPv4/IPv6とも可能
-OuterGWからClientへのSSHログインは、IPv6のみ可能。
-Client上で、Segment-Bのパケットを観測すると、Segment-Aか...
見えていたので今回は設定を手動で行ったが、OuterGWからRAを...
-その他、Segment-Bでは、Segment-Aからの
ARP、IPv4ブロードキャストパケットなども流れていた。
sysctlによってIPレベルのforwardingを無効にしても、結局bri...
今回は特に影響もないので放っておいたが、運用に影響がでる...
pfにフィルタルールを追加するなどして対策することが必要と...
----
#topicpath
Page: