免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3011 | 回复: 8
打印 上一主题 下一主题

[通信方式] debian下同一网段多网口配置,可以tcp通讯么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-18 15:54 |只看该作者 |倒序浏览
本帖最后由 charry_nj 于 2014-10-21 09:37 编辑

参照论坛一位大神的经验,我这样配置的:
主机(A)共有4块网卡,需要独立连接4台控制器(BCDE),每个控制器只有一个网口,且都在同一个网段,彼此之间不能连通。
我设定eth0 : 192.168.2.1
         eth1:192.168.2.2
         eth2:192.168.2.3
         eth3:192.168.2.4

在rc.local中添加了以下一段:
route add -net 0.0.0.0/0 netmask 0.0.0.0 gw 192.168.2.254 dev eth0
route add -net 0.0.0.0/0 netmask 0.0.0.0 gw 192.168.2.254 dev eth1
route add -net 0.0.0.0/0 netmask 0.0.0.0 gw 192.168.2.254 dev eth2
route add -net 0.0.0.0/0 netmask 0.0.0.0 gw 192.168.2.254 dev eth3
ip route add to 0.0.0.0/0 via 192.168.2.254 dev eth0 table 10
ip rule add from 192.168.2.1/32 table 10
ip route add to 0.0.0.0/0 via 192.168.2.254 dev eth1 table 20
ip rule add from 192.168.2.2/32 table 20
ip route add to 0.0.0.0/0 via 192.168.2.254 dev eth2 table 30
ip rule add from 192.168.2.3/32 table 30
ip route add to 0.0.0.0/0 via 192.168.2.254 dev eth3 table 40
ip rule add from 192.168.2.4/32 table 40

保存重新启动后,发现可以从主机指定网口ping到与之连接的控制器的的ip,但是从控制器上是无法ping到主机对应连接网络的ip,这是为什么呢????(问题一)
比如:A的第2个口(eth1)可以ping到C控制器的IP,但从C控制器上反过来ping,就ping不通。

另外请问一下:这样配置后是否可以达到各控制器之间相互隔离的作用(问题二)
问题三:
在网络编程时,基于TCP的socket能否成功呢?主机作为TCP的客户端,能否从指定网口出去建立tcp连接??


请大神指教!!不胜感激!!!

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
2 [报告]
发表于 2014-10-19 02:27 |只看该作者
charry_nj 发表于 2014-10-18 15:54
参照论坛一位大神的经验,我这样配置的:
主机共有4块网卡,需要独立连接4个子网络,巧的是4个子网络同一个 ...

主机共有4块网卡,需要独立连接4个子网络,巧的是4个子网络同一个网段,彼此之间不能连通。


首先,4个子网络同一个网段,那就不叫4个子网,而是一个子网。你所指的“不能连通”是否指物理链接?我下面的假定是了。Linux是默认是不能把4个网口加入同一网段的,因此这样就没有进行路由选择。这种情况,你应该把Linux桥设备而不是路由器来使用。你需要对4个网卡进行桥绑定。

论坛徽章:
0
3 [报告]
发表于 2014-10-20 16:02 |只看该作者
非常谢谢Tinnal 的回答!

可能我的描述不太对。重新说一下:假如有5台主机,A、B、C、D、E,其中A主机有4个网口,通过这4个网口分别连接到B、C、D、E主机,但是B、C、D、E主机只有一个网口,而且他们的IP都是同一个网段,甚至某两个IP相同,但是现在通过A与BCDE直接连接,在A上面写程序实现分别与BCDE主机通讯,但是要保证BCDE之间相互独立没有任何连接。那么应该怎么配置呢?

“你需要对4个网卡进行桥绑定”——我还不懂桥绑定的含义,想请问一下,上面的这种需求,桥绑定能实现么?

论坛徽章:
0
4 [报告]
发表于 2014-10-20 16:09 |只看该作者
主机A有点类似于防火墙的功能,各个网口可以配置成相互隔离,逻辑隔离

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
5 [报告]
发表于 2014-10-20 22:54 |只看该作者
BCDE同一网段,连IP都一个那就违背的TCP/IP协议了。
你这个并不是一个内核问题,你可以道运维的板块就问问,看网管门有没有办法。

论坛徽章:
0
6 [报告]
发表于 2014-10-21 09:27 |只看该作者
好的,非常谢谢

运维的板块

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
7 [报告]
发表于 2014-10-21 10:36 |只看该作者
你应该划分子网而不是像你现在这样连续的ip还想走路由.
举个例子,你的设备0口网卡配置192.168.2.1/255.255.255.252,B设备用192.168.2.2/255.255.255.252
                         1口网卡配置192.168.2.5/255.255.255.252,C设备用192.168.2.6/255.255.255.252
                         .......
这样就逻辑隔离了.

论坛徽章:
0
8 [报告]
发表于 2014-10-21 13:39 |只看该作者
感谢楼上
你采用的是掩码区分吧

问题上BCDE设备早已存在,且ip不可以改动,
我主要是想从A上着手解决问题。

论坛徽章:
0
9 [报告]
发表于 2014-10-29 08:25 |只看该作者
已经搞定了!可能还有问题,但是解决了目前的问题.
更正一下rc.local内容
在rc.local中添加了以下一段:
route add -net 0.0.0.0/0 netmask 0.0.0.0 dev eth0
route add -net 0.0.0.0/0 netmask 0.0.0.0 dev eth1
route add -net 0.0.0.0/0 netmask 0.0.0.0 dev eth2
route add -net 0.0.0.0/0 netmask 0.0.0.0 dev eth3
ip route add to 0.0.0.0/0 dev eth0 table 10
ip rule add from 192.168.2.1/32 table 10
ip route add to 0.0.0.0/0 dev eth1 table 20
ip rule add from 192.168.2.2/32 table 20
ip route add to 0.0.0.0/0 dev eth2 table 30
ip rule add from 192.168.2.3/32 table 30
ip route add to 0.0.0.0/0 dev eth3 table 40
ip rule add from 192.168.2.4/32 table 40

这样可以通过ping 命令ping通各个口,在程序处理中,需要注意的是建立tcp客户端时,需要bind一个网卡的ip。

我的QQ:1176479828
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP