02 2018 档案
摘要:qemu配置中经常会出现-driver/-device的选项,可以理解成-driver是后端设备,即一个实际的物理的磁盘;device是把这块磁盘插入到虚机中的pci控制器中。 这样的话,虚机也能看到这块磁盘了,这和实际的计算机操作的操作正好也吻合,有设备,还需要把设备插入各种接口USB/PCI接口
阅读全文
摘要:uid和gid其实很简单,主要是为了填充文件的uid和gid,这些都是静态的,那么用户执行程序这又是什么意思呢?那么进程的权限又是指什么呢? http://blog.51cto.com/skypegnu1/1622707 既然进程需要代替我们去完成某些动作,当我们需要访问资源的时候,必须给相应的进程
阅读全文
摘要:突然想起个问题,linux系统里的namespace到底有什么用?是为了解决什么问题? 从内核的层面构造出虚拟机? 比如IPC,这个时候 https://lwn.net/Articles/531114/ 这个链接中说涉及namespace的总体的目的是为了实现虚拟机 https://lwn.net/
阅读全文
摘要:这些地方的准确翻译是hook点(hook点是一个土的说法,学名叫rule chain,规则链)这些规则链是内核netfilter架构布置在内核里面的,然后iptables是利用了这套基础架构,想起了内核里的ftrace基础架构; iptables利用了netfilter提供的基础设施,netfilt
阅读全文
摘要:nf_register_hooks是什么 net->netns_nf->nf_hook_entry[NFPROTO_NUMPROTO][NF_MAX_HOOKS=8] (nf) (hooks) NFPROTO_IPV4=2; NFPROTO_ARP=3; NFPROTO_IPV6=10; 也就是说在
阅读全文
摘要:所以说,总共有五个矛点:PRE_ROUTING/LOCAL_IN/FORWARDING/LOCAL_OUT/POST_ROUTING local_in是路由后发现本地数据包,在路由之后做处理; local_out是路由之后,要朝外走,是路由之前做处理; 设置函数:nf_nat_setup_info
阅读全文
摘要:看下docker中是怎么配置的网络 在虚机中访问外网:设定了qemu,在主机上添加路由:sudo iptables -t nat -I POSTROUTING -s 192.168.1.110 -j SNAT --to-source 192.168.0.108 设置了这句话就可以访问外网了。 设置了
阅读全文
摘要:arp已经应答了,然后再返回ICMP应答的时候竟然不被回复。 其实这里想想也很容易想清楚: 虽然arp给了回复,但是真正到ICMP报文到的时候,我理解报文到的时候,我理解还是要进行与本地网络兑换的,本质上也还是要对比局域网的,但是到底在哪里比较的呢? 仍然开始使用伟大的systemtap []
阅读全文
摘要:2019/01/13 今天测试发现结果不符合预期呀,发现设置了arp_filter之后,仍然是能ping通主机上的另外一张网卡.但是现在的问题是 内核中是如何确定arp_ignore和rp_filter的值的? 然后呢 落实到文档中就是: 代码与文档匹配: 所以在做关于arp的试验之前,要先把机器上
阅读全文
摘要:arp包进入主机后要经过的过滤是:rp_filter rp_filter会过滤网段 所以说不要在进行arp_ignore测试的时候把rp_filter设置成2, 此时就不会对源地址进行路由的检查了 然后进行试验 1) 设置arp_ignore = 1,此时网卡会会返回一个arp的回应信息;【注意,这
阅读全文
摘要:反向路由过滤: 当 rp_filter=0 连mac地址都得不到 rp_filter=2 能得到mac,但是对端不发回复包。 代码中出错的路线是: ip_route_input_slow-->fib_validate_source 返回-18,为啥配置成2还是不行捏?配置成2之后函数返回了0,但是还
阅读全文
摘要:当网卡收到一个包的目的不是自己的IP 或者问题变成了,多网卡的机器路由选择 机器有两张网卡A和B,我将pingB的包发送给A这个时候是能ping通的,所以这里涉及到一个问题,网卡怎么知道这个数据包是不是自己的?拿到ICMP数据包后会怎么做呢?所以这里就涉及到ICMP协议了xx 这是因为这台机器上所有
阅读全文
摘要:网络设备的虚拟化 这篇文章中有一个简单的例子来说明如何来操作tun设备,亲试有效 在进行网络实验时,经常使用的是 tcpdump -I tun0 是检测所有tun0的数据包 TUN和TAP一个最大的区别是: TUN是一个点对点设备 TAP是一个以太网设备 ping -c 4 192.168.209.
阅读全文
摘要:整理下思路 生成树协议是为了解决啥?每个网桥都有个<mac, interface>的表, 记录着复制mac地址的报文时对应的端口号,生成树是为了解决复杂的网桥之间的链接导致的该表剧烈震荡;所以有了生成树,让表稳定 但是,有个问题,有个问题,如果是IP的广播,那么这个问题就无法避免,还是会在整个局域网
阅读全文