设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 操作系统 >> UNIX系统 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
HP Tru64 UNIX Sendmail…
openvms心得
Top监控工具在Tru 64 UN…
OpenVMS vax 模拟器
OpenVMS中文手册PDF
安装OPENVMS 7.1步骤
TRU 64上使用TCP Wrappe…
SCO OPENSERVER操作系统
OpenBSD自动下载文件并制…
体验NetBSD 3.0/Xen 2.0
  OpenBSD 3.8 + PF + PFSYNC + CARP         
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

[attach]122409[/attach]

设置:
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都可以.:em02::em02:

附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 编辑 ]



Linux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-1 19:31:57
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持