b1uesky 发表于 2015-10-01 10:49

freebsd自动增加路由,导致业务异常

freebsd 10.1 下系统自动增加路由导致业务异常。请问有办法禁止系统产生这种自动添加的路由信息么?

例:freebsd 系统S配置地址:192.168.1.2,网关A(192.168.1.1)。地址192.168.1.1防火墙A和192.168.1.254防火墙B为两台不同的防火墙。当用户C地址10.10.10.10访问S业务1时候经过防火墙A到达S。当用户C地址10.10.10.10访问S业务2时候经过防火墙B到达S。该种情况下,服务器S会自动添加一条到用户C的主机路由选择防火墙B.当用户再次访问服务器S业务1时候导致业务异常。
请问有什么方法来禁止服务器S产生这种路由信息,让服务器S到非本网段的路由均从默认的网关通过?

lsstarboy 发表于 2015-10-01 16:08

你确认FreeBSD会自动添加路由?应该不会这么神奇吧,正常情况10.10.10.10访问业务2,到达时走的防火墙B,回去时应该走防火墙A才对。

由于要面对两个防火墙,可以设置sefib,用ipfw区分开两个业务,分别送到不同的网关上去,pf应该也可以实现,但是不懂。

b1uesky 发表于 2015-10-01 16:48

回复 2# lsstarboy


    我确认是系统S到10.10.10.10的网关自动添加上去的。Flags为:UGHD3,网关为192.168.1.254而不是默认的192.168.1.1。我在系统S中的/etc/rc.conf中增加了router_enable="NO"
gateway_enable="NO"后这种现象仍然存在。真是奇怪。

lsstarboy 发表于 2015-10-01 17:13

你是不是启用什么服务了,可以用ps -ax看一下进程?
另外路由查看用什么命令?flags标志d和3都没见过

b1uesky 发表于 2015-10-01 17:57

本帖最后由 b1uesky 于 2015-10-01 20:56 编辑

回复 4# lsstarboy


   查看路由用的 netstat -rn。机器在裸机的基础就装了官方的freebsd 10.1 release ,然后webmin和nginx,是通过pkg一键安装的。目前这种他自动为目标地址加入了一条主机路由不知道是什么原因。那个d3我搜索了下,暂时没相关信息。用route -n get 10.10.10.10, 有flags: <UP,GATEWAY,HOST,DYNAMIC,DONE>,则这个d应该为DYNAMIC,这个3不知道是什么标签。

b1uesky 发表于 2015-10-01 21:07

回复 4# lsstarboy

    我在https://www.freebsd.org/cgi/man.cgi?query=netstat找到了完整的flags定义。
   1          RTF_PROTO1           Protocol specific routing flag #1
   2          RTF_PROTO2           Protocol specific routing flag #2
   3          RTF_PROTO3           Protocol specific routing flag #3
   B          RTF_BLACKHOLE           Just        discard        pkts (during updates)
   b          RTF_BROADCAST           The route represents        a broadcast address
   D          RTF_DYNAMIC           Created dynamically (by redirect)
   G          RTF_GATEWAY           Destination requires        forwarding by intermediary
   H          RTF_HOST           Host        entry (net otherwise)
   L          RTF_LLINFO           Valid protocol to link address translation
   M          RTF_MODIFIED           Modified dynamically        (by redirect)
   R          RTF_REJECT           Host        or net unreachable
   S          RTF_STATIC           Manually added
   U          RTF_UP           Route usable
   X          RTF_XRESOLVE           External daemon translates proto to link address

b1uesky 发表于 2015-10-02 08:45

回复 2# lsstarboy


    感谢参与,我已经找到解决的办法了,昨天我的想法是停止路由功能,结果试了几个参数,查看内核参数表明系统S确实不是路由器。但是该问题仍然没解决。考虑到路由的Flags标记有d3,今天我换了个思路,启用路由,传递参数给它,禁止其rip功能,这样终于解决问题了。给出解决的具体命令给有类似需求的朋友共享:
在/etc/rc.conf中加入如下三条命令:
gateway_enable="YES"
router_enable="YES"
router_flags="-q no_rip"

lsstarboy 发表于 2015-10-02 09:45

哦,是你启用了路由协议,自动学习路由了,服务器一般不需要这个,这个是用在大网络上面的,偶尔有几个路由,手动指定就可以了。

b1uesky 发表于 2015-10-03 09:22

回复 8# lsstarboy


    我前面帖子说了有这种现象确认过没启用路由,后面解决方案才是启用 了路由,传递参数来解决的。

lsstarboy 发表于 2015-10-03 14:30

你应该启用了什么服务,我测试了没这个问题,不会产生动态的路由。
页: [1]
查看完整版本: freebsd自动增加路由,导致业务异常