说明
1)我只有一个物理网卡wlan0,我使用lxc创建一个名为u1的容器
2)我创建了一个桥接名称lxcbr0并应用了一个静态ipv4 addr,它是192.168.55.1,然后我修改u1 / config为u1启动时分配了一个静态ip,ifconfig,我可以看到网卡是eth0,并且我在u1 / config
中定义了IP 192.168.55.63)我连接了ap,而wlan0的IP是192.168.199.218(dhcp),AP的地址是192.168.199.1
4)然后我执行echo 1 > /proc/sys/net/ipv4/ip_forward
5)最后我使用iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
添加nat的规则
之后,我按lxc-attach -n u1
输入容器的bash,执行ping -c 3 192.168.199.1
,然后打开另一个bash shell执行tcpdump -i wlan0 -v
tcpdump -i lxcbr0 -v
,我可以找到来自wlan0&的输出包#39; s套接字已更改,ping已成功。
我配置了dns服务器,并在u1中执行ping -c 3 www.bing.com
,它也成功了。
但是当我在u1中打开浏览器时,输入www.bing.com,它有一个提示net::ERR_TIMED_OUT
我只知道,ping使用ICMP协议并且与TCP不同,但我不知道如何配置它,有人知道它,请给我一些建议。
答案 0 :(得分:0)
以下是原因:
192.168.55.0/24 dev lxcbr0 proto kernel scope link src 192.168.55.1 192.168.199.0/24 dev wlan0 proto kernel scope link src 192.168.199.218 metric 325
默认通过192.168.199.1 dev wlan0 proto static 192.168.199.0/24 dev wlan0 proto静态范围链接
0:来自所有查找本地 10000:从所有fwmark 0xc0000 / 0xd0000查找legacy_system 10500:来自所有oif dummy0 uidrange 0-0查找dummy0 10500:从所有oif wlan0 uidrange 0-0查找wlan0 13000:从所有fwmark 0x10063 / 0x1ffff查找local_network 13000:从所有fwmark 0x10064 / 0x1ffff查找wlan0 14000:来自所有oif dummy0查找dummy0 14000:来自所有oif wlan0查询wlan0 15000:从所有fwmark 0x0 / 0x10000查找legacy_system 16000:从所有fwmark 0x0 / 0x10000查找legacy_network 17000:从所有fwmark 0x0 / 0x10000查找local_network 19000:从所有fwmark 0x64 / 0x1ffff查找wlan0 23000:从所有fwmark 0x0 / 0xffff uidrange 0-0查找main 25000:从所有fwmark 0x0 / 0xffff查找wlan0 32000:从所有无法到达的
我改变了23000的ip规则,如:
0:来自所有查找本地 10000:从所有fwmark 0xc0000 / 0xd0000查找legacy_system 10500:来自所有oif dummy0 uidrange 0-0查找dummy0 10500:从所有oif wlan0 uidrange 0-0查找wlan0 13000:从所有fwmark 0x10063 / 0x1ffff查找local_network 13000:从所有fwmark 0x10064 / 0x1ffff查找wlan0 14000:来自所有oif dummy0查找dummy0 14000:来自所有oif wlan0查询wlan0 15000:从所有fwmark 0x0 / 0x10000查找legacy_system 16000:从所有fwmark 0x0 / 0x10000查找legacy_network 17000:从所有fwmark 0x0 / 0x10000查找local_network 19000:从所有fwmark 0x64 / 0x1ffff查找wlan0 23000:从所有fwmark 0x0 / 0xffff查找main 25000:从所有fwmark 0x0 / 0xffff查找wlan0 32000:从所有无法到达的
然后它工作,回复数据包可以到达lxcbr0,浏览器可以上网,但我仍然对ip规则的输出格式有疑问,例如fwmark 0x0 / 0xffff或fwmark 0x64 / 0x1ffff什么&# 39;意思是什么? ip规则如何运作?谁决定数据包传输方向?哪个NIC会处理数据包?数据包是否来自不同的NIC?