免费注册 查看新帖 |

Chinaunix

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

[网络子系统] linux实现网桥和路由功能 [复制链接]

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
1 [报告]
发表于 2014-01-16 16:58 |显示全部楼层
不可以。将来外网不只有192.168.5.3这一台SSH,而是整个互联网的SSH

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
2 [报告]
发表于 2014-01-26 10:43 |显示全部楼层
本帖最后由 iceblood 于 2014-01-28 09:41 编辑
bfdhczw 发表于 2014-01-23 18:34
楼主试试这个,我自己已经调通了。
#ebtables -t broute -A BROUTING -i eth0 -p ipv4 --ip-proto tcp --i ...

兄弟,貌似我失败了……
Linux网桥规则如下:

  1. [root@localhost ~]# iptables-save
  2. # Generated by iptables-save v1.4.7 on Sun Jan 26 10:35:55 2014
  3. *mangle
  4. :PREROUTING ACCEPT [60922:17779059]
  5. :INPUT ACCEPT [342:27360]
  6. :FORWARD ACCEPT [60721:17763129]
  7. :OUTPUT ACCEPT [138:16499]
  8. :POSTROUTING ACCEPT [60859:17775522]
  9. -A PREROUTING -s 192.168.1.0/24 -i eth2 -p tcp -m tcp --dport 23 -j MARK --set-xmark 0xa/0xffffffff
  10. COMMIT
  11. # Completed on Sun Jan 26 10:35:55 2014
  12. # Generated by iptables-save v1.4.7 on Sun Jan 26 10:35:55 2014
  13. *filter
  14. :INPUT ACCEPT [936:79083]
  15. :FORWARD ACCEPT [213611:75675340]
  16. :OUTPUT ACCEPT [363:42875]
  17. COMMIT
  18. # Completed on Sun Jan 26 10:35:55 2014
  19. # Generated by iptables-save v1.4.7 on Sun Jan 26 10:35:55 2014
  20. *nat
  21. :PREROUTING ACCEPT [6665:324997]
  22. :POSTROUTING ACCEPT [6660:324728]
  23. :OUTPUT ACCEPT [0:0]
  24. -A POSTROUTING -s 192.168.1.0/24 -o eth0 -p tcp -m tcp --dport 23 -j MASQUERADE
  25. COMMIT
  26. # Completed on Sun Jan 26 10:35:55 2014
  27. [root@localhost ~]# ebtables-save
  28. # Generated by ebtables-save v1.0 on Sun Jan 26 10:36:02 CST 2014
  29. *filter
  30. :INPUT ACCEPT
  31. :FORWARD ACCEPT
  32. :OUTPUT ACCEPT

  33. *broute
  34. :BROUTING ACCEPT
  35. -A BROUTING -p IPv4 -d ac:f1:df:40:ae:de -i eth2 --ip-proto tcp --ip-dport 23 -j redirect  --redirect-target DROP

  36. [root@localhost ~]# ip ru
  37. 0:      from all lookup local
  38. 32763:  from all fwmark 0xa lookup 10
  39. 32764:  from all fwmark 0xa lookup 10
  40. 32765:  from all fwmark 0xa lookup 10
  41. 32766:  from all lookup main
  42. 32767:  from all lookup default
  43. [root@localhost ~]# ip ro
  44. 10.x.x.1/29 dev eth0  proto kernel  scope link  src 10.x.x.x
  45. 192.168.1.0/24 dev br0  proto kernel  scope link  src 192.168.1.250
  46. 169.254.0.0/16 dev eth0  scope link  metric 1002
  47. 169.254.0.0/16 dev br0  scope link  metric 1005
  48. default via 10.x.x.1 dev eth0
  49. [root@localhost ~]#
复制代码
Windows 192.168.1.107的运行结果。

  1. Microsoft Windows [版本 6.1.7600]
  2. 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

  3. C:\Users\Administrator>telnet 10.x.99.1
  4. 正在连接10.x.99.1...无法打开到主机的连接。 在端口 23: 连接失败
复制代码

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
3 [报告]
发表于 2014-01-26 12:30 |显示全部楼层
本帖最后由 iceblood 于 2014-01-28 09:42 编辑
bfdhczw 发表于 2014-01-26 11:14
回复 28# iceblood
ip ro ls table 10
这个结果看看?

[root@localhost ~]# ip ro ls table 10
default via 10.x.x.1 dev eth0
[root@localhost ~]# cat ttt.sh
MAC_ROUTE='ac:f1:df:40:ae:de'
MARK_ID=10
TABLE_ID=10
ebtables -t broute -A BROUTING -i eth2 -p ipv4 --ip-proto tcp --ip-dport 23 -d ${MAC_ROUTE} -j redirect --redirect-target DROP
iptables -t mangle -A PREROUTING -i eth2 -s 192.168.1.0/24 -p tcp --dport 23 -j MARK --set-mark ${MARK_ID}
ip ru add fwmark ${MARK_ID} table ${TABLE_ID}
ip ro add default via 10.x.x.1 dev eth0 table ${TABLE_ID}
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -p tcp --dport 23 -j MASQUERADE

[root@localhost ~]# arp -an
? (192.168.1.1) at ac:f1:df:40:ae:de [ether] on br0
? (10.14.1.145) at 78:1d:ba:88:f8:dc [ether] on eth0

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
4 [报告]
发表于 2014-01-27 10:41 |显示全部楼层
bfdhczw 发表于 2014-01-27 10:00
回复 30# iceblood

上周还好好的,怎么这周就又不行了,我再试试。

慢慢来,一起想想。我也在想解决方法。

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
5 [报告]
发表于 2014-01-27 23:02 |显示全部楼层
本帖最后由 iceblood 于 2014-01-27 23:18 编辑

连脚本都写好了,真是到位。明天我试试,成功了请你吃饭。
另外实际环境还要恶劣……br0其实没有IP……
但不管如何我先非常的感谢,明天我先试试再继续讨论。

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
6 [报告]
发表于 2014-01-28 09:14 |显示全部楼层
我非常高兴,解决了。功能实现了。
不过能不能再挑战个更高的层次?
br0没有IP,有没有可能做?

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
7 [报告]
发表于 2014-02-07 18:17 |显示全部楼层
这是因为这个设备实际是挂外网的。
而且是挂载用户和设备之间,如果这个设备需要IP,就需要从用户那里抠一个IP出来。这样的话用户是不会同意的。

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
8 [报告]
发表于 2014-02-07 18:18 |显示全部楼层
bfdhczw 发表于 2014-02-07 11:02
回复 34# iceblood

好吧,赶紧请我吃饭。

如果有机会是真要请。
这是因为这个设备实际是挂外网的。
而且是挂载用户和设备之间,如果这个设备需要IP,就需要从用户那里抠一个IP出来。这样的话用户是不会同意的。

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
9 [报告]
发表于 2014-02-08 10:29 |显示全部楼层
本帖最后由 iceblood 于 2014-02-08 10:36 编辑
bfdhczw 发表于 2014-02-08 09:36
回复 39# iceblood

那你就按37楼那个办法吧,应该是可以的。

如果经过这个网桥有2个VLAN,流量都是以VLAN的形式经过的,我过年前测试的时候没有配置VLAN,之前的那个配置会不会失效?
因为有一种这样的情况,用户的设备和运营商设备是通过VLAN的,而我不能改变用户的网络结构,就意味着VLAN不可以在我这里单方面取消,这样就出现好几个VLAN经过网桥的情况,同时也意味着用户经过的是2个以上的网关,因为多个VLAN。

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
10 [报告]
发表于 2014-02-08 17:16 |显示全部楼层
两种情况,一种是没有VLAN ,可以直接将22或者23这样的端口转到那个非网桥网卡出口访问目标服务。就是你给我的那套规则实现。
另一种带VLAN的,就需要从VLAN里识别出目标为22和23端口,引向非网桥网卡出口访问服务,而其他的还是在VLAN内通过网桥。
你是否有QQ?我们能否QQ沟通?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP