|
|
 |
|
|
| 1. linux双网卡的疑惑 (坛子里的网络大虾们给个RFC吧) |
  |
|
 |
|
HP : 73 / 733
MP : 405 / 11111
EXP : 34%
|
|
名动江湖
           
成员等级: 30
发表总数: 1215
金币总数: 571
所属组别: 核心成员
注册日期: 2003/09/27

|
搞了一个4电口的X86设备,遇到几个问题,请指教 os :fc4 没有起用路由和NAT 数据包转发等功能
在系统里起用了2个口, eth0,eth1 均已up
[root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:91:27:76:00:A8 inet addr:192.168.1.23 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::291:27ff:fe76:a8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:54 errors:0 dropped:0 overruns:0 frame:0 TX packets:89 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8635 (8.4 KiB) TX bytes:7707 (7.5 KiB) Interrupt:9
eth1 Link encap:Ethernet HWaddr 00:91:27:76:00:A9 inet addr:192.168.2.24 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::291:27ff:fe76:a9/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 TX bytes:0 (0.0  Interrupt:10
网线插在eth0上,直接和本子对连
[root@localhost ~]# dmesg eth0: freeing mc frame. eth0: freeing mc frame. [root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.2.0 * 255.255.255.0 U 0 0 0 eth1 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth1 default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
本子上单网卡配置了2个ip 192.168.1.22 192.168.2.2
现在开始ping 192.168.2.24不通,抓包发现 竟然能获得MAC地址,如图
1 从路由表中能看出 192.168.2.0只能通过eth1 当对2.24的ARP请求发过去后, eth0不但回复,而且伪造了2.24这个IP和自己的MAC地址, icmp request过来后,到了IP层又被丢弃,导致不通 难道是打开了ARP代理???
我认为这个ARP请求应该是丢掉,而不是回复, 并且 我这边ICMP发过去了 又被它丢掉 起不是很没效率 为什么第一次不丢掉 丢掉就没这样的事了
难道是eth0 收到ARP查询的时候,eth0先伪造一个回复,等ICMP报文过来,核对下IP,再查看有没有开启路由转发功能,发现没有 于是丢弃,实在是搞不懂
2 eth0: freeing mc frame eth2.eth3两个千M电口和本子的电口对连(显示正常 速率 双工 OK) eth0 ,eth1这两个百M电口和本子相连就出现这个问题 是最高速率不匹配,还是双工出了问题
不过可以正常使用
附带图片
 凡是纸马的帖子一定要看 凡是纸马的帖子一定要顶
签名 -------------- 两个凡是 把个人崇拜进行到底 |
 |
|
|
| 2. Re:linux双网卡的疑惑 |
  |
|
 |
|
HP : 73 / 733
MP : 405 / 11111
EXP : 34%
|
|
名动江湖
           
成员等级: 30
发表总数: 1215
金币总数: 571
所属组别: 核心成员
注册日期: 2003/09/27

|
arp_ignore : INTEGER 默认为0 定义对目标地址为本地IP的ARP询问不同的应答模式
0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对10.1.1.1 的arp查询也会回应--而原本这个请求该是出现在eth1上,也该有eth1回应的)
1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对192.168.0.1的查询会回答,而对10.1.1.1 的arp查询不会回应) 2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,eth1收到来自10.1.1.2这样地址发起的对192.168.0.1的查询不会回答,而对192.168.0.2发起的对192.168.0.1的arp查询会回应) 3 - 不回应该网络界面的arp请求,而只对设置的唯一和连接地址做出回应(do not reply for local addresses configured with scope host,only resolutions for global and link addresses are replied 翻译地似乎不好,这个我的去问问人) 4-7 - 保留未使用
arp_announce : INTEGER 默认为0 对网络接口上本地IP地址发出的ARP回应作出相应级别的限制:
确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口 0 - (默认) 在任意网络接口上的任何本地地址 1 -尽量避免不在该网络接口子网段的本地地址. 当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理. 2 - 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送
找了半天
 凡是纸马的帖子一定要看 凡是纸马的帖子一定要顶
签名 -------------- 两个凡是 把个人崇拜进行到底 |
 |
|
|
| 3. Re:linux双网卡的疑惑 |
  |
|
 |
|
HP : 1029 / 1715
MP : 4140 / 29674
EXP : 62%
|
|
rotartsinimdA
           
成员等级: 69
发表总数: 12421
金币总数: 433
所属组别: 管理员
注册日期: 2003/01/1

|
自己也不回个帖子说明一下
怎样,查到资料了吧 这是符合RFC规范的吧? 哈哈

 xxbin@netbuddy.org |
 |
|
|
| 4. Re:linux双网卡的疑惑 (坛子里的网络大虾门给个RFC吧) |
  |
|
 |
|
HP : 73 / 733
MP : 405 / 11111
EXP : 34%
|
|
名动江湖
           
成员等级: 30
发表总数: 1215
金币总数: 571
所属组别: 核心成员
注册日期: 2003/09/27

|
我做个测试,你来看看结果 laptop (A)------------------( B ) PC ( C) 笔记本A口接PC的B口 PC还有一个网卡C口 下面以A B C来代替
一 OS :WINDOWS2003 C口上没插线,也就是链路是不通的 没有一个能成功的,现在不讨论这个不插线的情况下
现在讨论插线的情况下 ABC 为同一网段 A PING B OK A PING C NG 无法获得C的MAC地址
AB 为同一个网段 C是另外一个网段 把A口上的网关配置为B A PING B OK A PING C OK
A C 同一网段,B是另外一个网段
A PING B NG A PING C NG 无法获得C的MAC地址
二 PCOS FC4 C口上没插线 (请注意是没插网线) /sbin/ifconfig ethC up ABC 同一网段 A PING B OK A PING C OK
AB同一网段,C不是 把A的网关配置成B A PING B OK A PING C OK
A C 同一网段 B 另外一个段 A PING B NG A PING C NG 但是A在PING C的时候获得了 B的MAC地址 A把ARP查询包发到B口上 B口代替C回应了ARP应答 但是使用的是C上的IP B上的MAC
大家来看 OS不同 在双网卡处理的情况下是不同的(不知道协议栈是怎么写的)
而且我一直没有查到相关RFC规范,虽然知道结果,也能够解释的通,但是不知道哪个是RFC的规范!!!郁闷``
 凡是纸马的帖子一定要看 凡是纸马的帖子一定要顶
签名 -------------- 两个凡是 把个人崇拜进行到底 |
 |
 |