为了流量统计方便想双网卡区别一下内部和外部流量,网段还是同一个。vnstat死活没eth1的流量。后来才发现流量全到eth0去了,而且arp信息里,eth1的mac地址也是eth0的地址。通过搜索找到了问题,通过以下设置可以解决arp问题。
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
or
echo 1 > /proc/sys/net/ipv4/conf/all/arp_filter
也可以修改/etc/sysctl.conf文件。
这样一来,arp能准确反映两个网卡的地址了。 而且eth1的RX统计是解决了,不过TX的时候还是从eth0走,这个还不清楚……
现在已经搞定了,主要是系统需要知道网卡发过来的包从哪里出去。写一个脚本加到/etc/rc.local
#!/bin/bash
ip rule add from 192.168.1.3 table 251
ip rule add from 192.168.1.4 table 252
ip route add 192.168.1.0/24 via 192.168.1.1 dev eth0 table 251
ip route add 192.168.1.0/24 via 192.168.1.1 dev eth1 table 252
route add default gw 192.168.1.1 dev eth0