博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
双网卡机器配置说明
阅读量:6483 次
发布时间:2019-06-23

本文共 1019 字,大约阅读时间需要 3 分钟。

在杭州机房里有一部分机器拥有双网卡,双IP,这种机器的网络需要特殊配置。

 

例如:客服工作台有一台机器有两块网卡,分别是 公网ip 223.5.20.36(eth0) 和 内网ip 192.168.220.41(eth1)。

需要注意的是,这台机器的网关是 192.168.0.1。这会导致一个问题,当一个外部请求访问它的公网地址 223.5.20.36 时,响应数据包会从内部网络接口 eth1 出去。请求端接受到的包的源 ip 就不再是 223.5.20.36 了,这种情况响应包通常会被直接丢弃,导致通信失败。

 

解决这个问题有两种方法:

1. 简单直接的方式:把网关设置为公网ip的网关, 如 223.5.20.1。   

2. 但假如处于某些原因,不想更改网关。还有一种比较麻烦一些的方式:iptables的CONNMARK模块 + 策略路由。具体实现如下:

 

a.首先是给 所有 从公网接口eth0进来的包都打上一个标记(fwmark)。

iptables -A INPUT -i eth0 -d 223.5.20.36 -j CONNMARK --set-mark 1

注:实际上只需要对一次连接的第一个包打标记就行,即下面这样也行:

iptables -A INPUT -i eth0 -d 223.5.20.36 -m state --state NEW -j CONNMARK --set-mark 1

 

b.当响应数据包返回时,利用connmark的连接追踪功能给响应包也打上相同的标记。

iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark

注:必需在 mangle 表执行 connmark 标记恢复。因为在mangle表之后会进行一次 reroute check 重新路由,这使得下一步得以发生。

 

c.配置策略路由,让打了标记(fwmark 1)的包全部走 eth0 接口。

echo 200 public >> /etc/iproute2/rt_tables

ip rule add table public

ip route add table public default via 223.5.20.1 dev eth0                               本文转自 Bruceweien 51CTO博客,原文链接:http://blog.51cto.com/bruceweien/1932409

转载地址:http://bvbuo.baihongyu.com/

你可能感兴趣的文章
Silverlight与Flash区别之一
查看>>
删除恢复Hadoop集群中的DataNode
查看>>
Silverlight 2动态创建矩形对象(附完整源代码)
查看>>
从京东技术演进看互联网企业的成长历程
查看>>
MFC ado+mysql+odbc技术分享
查看>>
js中让字符串中特定字符红色显示
查看>>
HttpClient4.5教程-第二章-连接管理
查看>>
redhat Nginx 安装
查看>>
oracle 配置监听
查看>>
上海访微软 详解Azure和S+S
查看>>
跨国巨头猛攻语音识别技术 让电脑听懂人们说话
查看>>
moosefs即将发布新版
查看>>
SmartGit 试用过期
查看>>
python 测试驱动开发的简单例子
查看>>
Aes 加密简单例子
查看>>
AE 线编辑
查看>>
软件设计之UML—UML的构成[上]
查看>>
如何使用AdMob中介界面?
查看>>
分享一个shell脚本:通过Jumper机器来创建Jumper和target机器账号
查看>>
UITableViewCell分割线不是左对齐的问题
查看>>