摘要:
这些地方的准确翻译是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 阅读全文
摘要:
在IP层发送数据包的时候, 阅读全文
摘要:
看下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 这是因为这台机器上所有 阅读全文