单网卡双IP的DNS解析问题?求救!

cxq870719 2012-04-24 02:17:38
是这样的,目前本人做的是一个IPTV项目,现在需要实现单网卡双IP。过程如下:

第一次获取IP不带Vlan,网关收到终端DHCP请求后,发现是不带带Vlan的立即分配一个内网IP

内网IP:192.168.1.6  DNS:192.168.1.1

然后接着获取第二个IP,获取第二个IP需要加上Vlan,网关收到终端DHCP请求后,发现是带Vlan的立即将DHCP请求转

发到外网DHCP服务器,外网DHCP服务器给终端分配一个外网IP

公网IP:10.248.0.200  DNS:10.248.0.1

现在的问题是:

当使用内网IP、内网DNS解析地址,没有问题,可以连入网页,但是无视频流输出;(这个属于正常)

即:IP:192.168.1.6  DNS:192.168.1.1


当使用外网IP、内网DNS解析地址,无法发起DNS解析,抓包抓不到,就没有请求解析。(这是问题)

公网IP:10.248.0.200  DNS:192.168.1.1

因为规范要求,DNS时使用第一次获取的DNS进行解析,第二次获取的DNS只做保存。

DNS解析时使用的是系统函数getaddrinfo进行解析!


请各位大牛帮忙分析一下,这个问题卡在这一个星期了,急需解决,多谢啦!

...全文
572 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
romanxk1 2012-05-01
  • 打赏
  • 举报
回复
获取第二个IP需要加上Vlan,请问vlan包头如何添加呢?
romanxk1 2012-05-01
  • 打赏
  • 举报
回复
获取第二个IP需要加上Vlan,请问获取第二个ip时,如何添加vlan id?
cxq870719 2012-04-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
是不是windows客户端?

windows客户端的dns服务器地址并不是与ip绑定的,发出解析请求时会发向所有dns地址,然后取最快返回的结果。

我觉得你首先应该检查与两个dns服务器的连通性,然后检查两个dns服务器是否能有效地解析你提供的域名,这个可以用nslookup命令。
[/Quote]


你好,是linux系统下的。

两次获取的Ip都用第一次获取的内网DNS进行解析,测试发现只有使用内网DNS解析,系统貌似就默认用内网IP,使用外网DNS解析,就默认使用外网IP
飞天御剑流 2012-04-24
  • 打赏
  • 举报
回复
是不是windows客户端?

windows客户端的dns服务器地址并不是与ip绑定的,发出解析请求时会发向所有dns地址,然后取最快返回的结果。

我觉得你首先应该检查与两个dns服务器的连通性,然后检查两个dns服务器是否能有效地解析你提供的域名,这个可以用nslookup命令。
cxq870719 2012-04-24
  • 打赏
  • 举报
回复
终端发起discover请求时,会带Vlan的包头,网关检测到请求包带vlan,会将discover转发到外网DHCP服务器,外网DHCP服务器会同样带上Vlan,给终端分配一个IP。
金刚葫芦娃 2012-04-24
  • 打赏
  • 举报
回复
终端通过路由器可以直接设置外网IP?

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧