Chinaunix

标题: FreeBSD双线双IP应该怎么设置? [打印本页]

作者: qjsyjy    时间: 2015-01-02 20:12
标题: FreeBSD双线双IP应该怎么设置?
请问现在双IP应该怎么设置呢?网卡1是bge0 网卡2是bge1
默认路由defaultrouter设置什么呢?freebsd9.2

电信
电信IP:114.80.66.199
电信网关:114.80.66.1
电信掩码:255.255.255.224

网通
网通IP:60.29.231.190
网通网关:60.29.231.1
网通掩码:255.255.255.224

单IP时知道是这样设置 /etc/rc.conf
defaultrouter="114.80.66.1"
ifconfig_bge0="inet 114.80.66.199 netmask 255.255.255.224"

作者: lsstarboy    时间: 2015-01-03 09:55
man setfib
man ifconfig
原理上应该可以,但感觉双线也不容易,目的路由还要借助ipfw或pf的table才好用,否则你要写很多条规则。
作者: qjsyjy    时间: 2015-01-05 15:37
回复 2# lsstarboy

Linux下是否实现容易些?
作者: lsstarboy    时间: 2015-01-05 15:53
qjsyjy 发表于 2015-01-05 15:37
回复 2# lsstarboy

Linux下是否实现容易些?


不懂Linux
作者: yyu0378    时间: 2015-01-05 16:44
这个需要写路由表,网关只能填一个
作者: qjsyjy    时间: 2015-01-05 19:25
回复 5# yyu0378


网关填一个的话,是否就意味着流出总是一个IP呢,有FreeBSD下双线应用的实例吗?
作者: lsstarboy    时间: 2015-01-05 20:19
一个fib可以填一个网关,剩下的问题就是怎么样让出去的数据包分开走不同的fib,这个可以用ipfw来实现,pf好像也可以。
作者: zhengwei_zw    时间: 2015-01-06 09:29
做策略路由。

但是没有100%好的策略路由
作者: qjsyjy    时间: 2015-01-07 11:16
回复 7# lsstarboy


   
意思是填上任意一个网关就行了?
pf那边再决定,哪个IP进来,哪个IP出去?
有具体配置的实例没有?参考一下。
作者: yyu0378    时间: 2015-01-07 13:03
用路由表就行,但是ip段很麻烦
作者: lsstarboy    时间: 2015-01-07 14:18
回复 9# qjsyjy


    每个fib可以设置一个网关。不懂pf,只懂ipfw。
作者: qjsyjy    时间: 2015-01-07 16:51
回复 11# lsstarboy


ipfw也行,有相关实例或链接吗?想学习一下,谢谢。
作者: lsstarboy    时间: 2015-01-07 23:38
回复 12# qjsyjy


    我还没用到双线,但是应该不是很麻烦,最大的困难是分清电信和联通的IP地址段,策略路由主要是在目标地址上,大致的语句应该是:

ipfw add setfib "fibnum" ip from any to "电信IP段"

或者用table,table的实例在ipfw man中可以找到。
作者: webmasters    时间: 2015-01-27 10:13
很久以前我看到有人做过,你说的这个用策略路由可以实现。
作者: yyu0378    时间: 2015-01-27 10:23
用路由表就成,但是ip段很难确定。最好吧用的少的不设定网关,减少工作量
作者: williamy    时间: 2015-01-27 12:05
hahahahahahaahahahahahahaahahahahahahaahahahahahahaa
作者: zero-B    时间: 2015-01-27 20:20
FreeBSD 的双线一直还没机会去设置,不过在单位倒是设了 WIN 7 的双线,可以把思路换过去试试:

比如现在有电信和联系的双线,默认走电信线路,那就把 default_gateway 设成电信的网关,那要走联通线路的 IP 就改路由表来实现。
作者: iceblood    时间: 2015-02-01 20:34
07年我收集的一段PF实现文章,你照着试试看。

  1. lan_net = "192.168.0.0/24"
  2. int_if = "dc0"
  3. ext_if1 = "fxp0"
  4. ext_if2 = "fxp1"
  5. ext_gw1 = "68.146.224.1"
  6. ext_gw2 = "142.59.76.1"

  7. # nat outgoing connections on each internet interface
  8. nat on $ext_if1 from $lan_net to any -> ($ext_if1)
  9. nat on $ext_if2 from $lan_net to any -> ($ext_if2)

  10. # default deny
  11. block in from any to any
  12. block out from any to any

  13. # pass all outgoing packets on internal interface
  14. pass out on $int_if from any to $lan_net
  15. # pass in quick any packets destined for the gateway itself
  16. pass in quick on $int_if from $lan_net to $int_if
  17. # load balance outgoing tcp traffic from internal network.
  18. pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin proto tcp from $lan_net to any flags S/SA modulate state
  19. # load balance outgoing udp and icmp traffic from internal network
  20. pass in on $int_if route-to { ($ext_if1 $ext_gw1), ($ext_if2 $ext_gw2) } round-robin proto { udp, icmp } from $lan_net to any keep state

  21. # general "pass out" rules for external interfaces
  22. pass out on $ext_if1 proto tcp from any to any flags S/SA modulate state
  23. pass out on $ext_if1 proto { udp, icmp } from any to any keep state
  24. pass out on $ext_if2 proto tcp from any to any flags S/SA modulate state
  25. pass out on $ext_if2 proto { udp, icmp } from any to any keep state

  26. # route packets from any IPs on $ext_if1 to $ext_gw1 and the same for
  27. # $ext_if2 and $ext_gw2
  28. pass out on $ext_if1 route-to ($ext_if2 $ext_gw2) from $ext_if2 to any
  29. pass out on $ext_if2 route-to ($ext_if1 $ext_gw1) from $ext_if1 to any
复制代码

作者: Machm    时间: 2015-02-17 23:19
作服务的方面,用pf防火墙,设置数据包从哪个网卡进来,就从那个网卡出去就行;FB系统自身连外网方面,比如,系统更新、ports更新,当然是走默认路由那条线路,我的是校园网+电信的双线环境,所以默认路由,用电信线路的方便。FB系统连校园网其他服务器的,设几条静态路由就行了。
作者: lsstarboy    时间: 2015-02-19 16:19
很多人都没理解“双线”的含义,“双线”不是基础路由能完成的任务,双线除了BGP外,就应该是“策略路由”。严格来说有两种,双线上网应该叫“目的策略路由”;双线服务器就是上面两位说的从哪个网卡来的再从哪个网卡出去(不是完全对,大部分是),叫“源地址策略路由”。策略路由就必须借助fib实现,route本身是不行的。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2