首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > 其他操作系统 > OpenBSD 3.8 + PF + PFSYNC + CARP
【标  题】:OpenBSD 3.8 + PF + PFSYNC + CARP
【关键字】:OpenBSD,3.8,PF,PFSYNC,CARP
【来  源】:http://www.cublog.cn/u/6402/showart.php?id=189033

OpenBSD 3.8 + PF + PFSYNC + CARP

OpenBSD 3.8 + PF + PFSYNC + CARP
日期:2005.12.1
作者:congli

参考:http://www.countersiege.com/doc/pfsync-carp/
参考:pfsync 及 carp 手册

实验环境:
VMWare 5.5,虚拟三台BSD,两台OpenBSD,一台FreeBSD.每台OpenBSD均有三块网卡.
虚拟机1:
名称:OpenBSD(GZ)
网卡pcn0:192.168.0.110/24        (接外网 vmnet0 桥接 192.168.0.0/24)
网卡pcn1:192.168.20.110/24        (接内网 vmnet2 NAT 192.168.20.0/24)
网卡pcn2:192.168.30.110/24        (pfsync vmnet3 NAT 192.168.30.0/24)
网关:192.168.0.254

虚拟机2:
名称:OpenBSD(PY)
网卡pcn0:192.168.0.120/24        (接外网 vmnet0 桥接 192.168.0.0/24)
网卡pcn1:192.168.20.120/24        (接内网 vmnet2 NAT 192.168.20.0/24)
网卡pcn2:192.168.30.120/24        (pfsync vmnet3 NAT 192.168.30.0/24)
网关:192.168.0.254

虚拟机3:
名称:FreeBSD
网卡lnc0:192.168.20.10/24        (接内网 vmnet2 NAT 192.168.20.0/24)
网关:192.168.20.200



图片附件: OpenBSD_PF_PFSYNC_CARP.jpg (2005-12-2 09:16, 22.64 K)



设置:
1./etc/pf.conf(两台OpenBSD使用相同的规则),下面的规则非常简单,只用于测试.

ext_if  = "pcn0"
int_if  = "pcn1"
sync_if = "pcn2"
loop_if = "lo0"

nat on $ext_if from $int_if:network to any -> $ext_if

pass quick on { $sync_if } proto pfsync
pass on { $ext_if $int_if } proto carp keep state

pass in quick all keep state
pass out quick all keep state
2.在OpenBSD(GZ)和OpenBSD(PY)中,分别增加下面文件.
# vi /etc/hostname.carp0

vhid 1 pass foo 192.168.0.200 255.255.255.0
# vi /etc/hostname.carp1

vhid 2 pass bar 192.168.20.200 255.255.255.0
# vi /etc/hostname.pfsync0

syncpeer 192.168.30.200 syncdev pcn2
# vi /etc/rc.conf.local

pf=YES
3.设置FreeBSD
# vi /etc/rc.conf

defaultrouter="192.168.20.200"
ifconfig_lnc0="inet 192.168.20.10 netmask 255.255.255.0"
# vi /etc/resolv.conf

nameserver 202.96.128.68
nameserver 202.96.134.133
4.设置完毕之后,重启三台虚拟机.

5.简单测试:
在FreeBSD虚拟机中,ping一个Internet上的真实IP,随便关闭那一台OpenBSD都可以.

附ifconfig
1.OpenBSD(GZ)

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224
        groups: lo
        inet 127.0.0.1 netmask 0xff000000
pcn0: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:0c:29:fe:67:4b
        groups: egress
        media: Ethernet autoselect (autoselect)
        inet 192.168.0.110 netmask 0xffffff00 broadcast 192.168.0.255
pcn1: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:0c:29:fe:67:55
        media: Ethernet autoselect (autoselect)
        inet 192.168.20.110 netmask 0xffffff00 broadcast 192.168.20.255
pcn2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:0c:29:fe:67:5f
        media: Ethernet autoselect (autoselect)
        inet 192.168.30.110 netmask 0xffffff00 broadcast 192.168.30.255
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33224
pfsync0: flags=0<> mtu 1348
        pfsync: syncdev: pcn2 syncpeer: 192.168.30.200 maxupd: 128
enc0: flags=0<> mtu 1536
carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        carp: BACKUP carpdev pcn0 vhid 1 advbase 1 advskew 0
        groups: carp
        inet 192.168.0.200 netmask 0xffffff00 broadcast 255.255.255.0
carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        carp: BACKUP carpdev pcn1 vhid 2 advbase 1 advskew 0
        groups: carp
        inet 192.168.20.200 netmask 0xffffff00 broadcast 255.255.255.0
2.OpenBSD(PY)

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224
        groups: lo
        inet 127.0.0.1 netmask 0xff000000
pcn0: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:0c:29:cc:f5:37
        groups: egress
        media: Ethernet autoselect (autoselect)
        inet 192.168.0.120 netmask 0xffffff00 broadcast 192.168.0.255
pcn1: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:0c:29:cc:f5:41
        media: Ethernet autoselect (autoselect)
        inet 192.168.20.120 netmask 0xffffff00 broadcast 192.168.20.255
pcn2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:0c:29:cc:f5:4b
        media: Ethernet autoselect (autoselect)
        inet 192.168.30.120 netmask 0xffffff00 broadcast 192.168.30.255
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33224
pfsync0: flags=0<> mtu 1348
        pfsync: syncdev: pcn2 syncpeer: 192.168.30.200 maxupd: 128
enc0: flags=0<> mtu 1536
carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        carp: MASTER carpdev pcn0 vhid 1 advbase 1 advskew 0
        groups: carp
        inet 192.168.0.200 netmask 0xffffff00 broadcast 255.255.255.0
carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        carp: MASTER carpdev pcn1 vhid 2 advbase 1 advskew 0
        groups: carp
        inet 192.168.20.200 netmask 0xffffff00 broadcast 255.255.255.0
3.FreeBSD

# ifconfig
lnc0: flags=108843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 192.168.20.10 netmask 0xffffff00 broadcast 192.168.20.255
        inet6 fe80::20c:29ff:fe1d:bbda%lnc0 prefixlen 64 scopeid 0x1
        ether 00:0c:29:1d:bb:da
[ 本帖最后由 congli 于 2005-12-2 09:18 编辑 ]
我的星座:【上一篇】
企业上网最先要了解的问题:【下一篇】
【相关文章】
  • 发行版发布: INSERT 1.3.8
  • OSPF(一):Neighbor&Adjacency
  • ipf ipnat
  • ospf LSA3
  • Solaris ipfilter/NAT Config
  • [精彩] FREEBSD5.1上用IPFILTER做NAT做网关.
  • appfuse配置文件解读
  • IPFW规则-转www.linuxts.com
  • Linux下面的tmpfs文件系统
  • WPF, WPF/E释疑
  • 【随机文章】
  • 怎样让input type=file 只读,并能实现文件上传
  • QQ2005Beta3将新增超级视频功能
  • 详述Windows 2000 系统日志及删除方法
  • 修复IE标题及主页
  • 如何理解Library List
  • 四种方法实现VC枚举系统当前进程[转载]
  • 通过v$parameter查找初始化参数
  • auto_ptr_ref的奇妙(下)
  • 认识Worm.Novarg病毒最新变种(1)
  • lucene lock 机制
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.