码迷,mamicode.com
首页 > 其他好文 > 详细

更改本地环回地址引发的血案

时间:2018-05-19 12:09:13      阅读:608      评论:0      收藏:0      [点我收藏+]

标签:opera   rmi   解析失败   filter   应用层   自己   负载均衡   应用   端口   

看网上一篇教程啊,说LVM使用的就是在回环地址上绑定了IP地址,然后设置arp_filter和arp_ignore来达到负载均衡的目的,于是就自己把本地的回环地址给改掉了,改成了一个随便的值:192.168.3.110,然后发现访问不了外网了,用wireshark抓包发现是因为DNS解析失败,然后发现了是因为。本机的DNS服务是被dnsmasq服务在127.0.1.1端口给监听,本机的所有的dns服务都是通过这个这个进程接收并访问的,这样我把127.0.1.1是绑定在网卡本地回环网卡上的

本地回环地址是指以127开头的地址,通常是指127.0.0.1-127.255.255.254,都是回环地址,所以这个地址应该是在ping的系统调用中能看到,可以自己试着往本地的网卡发送数据嘛,使用strace就可以看到ping都做了什么操作:

socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("127.0.1.1")}, 16) = 0

其实ping操作和,然后就是写操作了

write(3, "ping: icmp open socket: Operatio"..., 48ping: icmp open socket: Operation not permitted

cat /proc/<ping-pid>/io中wchar和rchar并不都是diskIO,ping就通过write写数据的

也从另一个方面证明了io操作其实并不是全部都,

这么说其实lo和/tun/tap非常相似,tap是模拟的二层设备,tun是三层设备,lo则应用层

你可以想tap写入一个二层的数据包,包含mac地址的数据包;tun写入一个三层的数据包,包含三层的数据包;lo写入的数据包。

 

更改本地环回地址引发的血案

标签:opera   rmi   解析失败   filter   应用层   自己   负载均衡   应用   端口   

原文地址:https://www.cnblogs.com/honpey/p/9059654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!