开发板为nanopi m1,系统是Ubuntu 16.04.2 LTS
校园网环境,路由器做交换机用,宿舍网段为10.13.8.160,网关为10.13.8.161,校园网其他网段为202.204.xxx.xxx
问题是:设置静态IP可以ping宿舍内其他IP,但是ping不通网关和校园网内其他IP,自己做了以下实验,有些许头绪,觉得问题可能出在网关上,但是这方面没接触过,不知道具体问题在哪儿,也不知道怎么解决,还请大神们不吝赐教!!
在不设置静态IP情况下,network-manager管理eth0,此时IP10.13.8.169,路由表为
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.13.8.161 0.0.0.0 UG 100 0 0 eth0 10.13.8.160 0.0.0.0 255.255.255.240 U 100 0 0 eth0 202.204.60.92 10.13.8.161 255.255.255.255 UGH 100 0 0 eth0
其中202.204.60.92为DHCP服务器。
此时ping网关、DHCP服务器或者校园网内其他IP都没问题。
现修改/etc/network/interfaces,加入下面内容(已确定网络内无10.13.8.170)
auto eth0 iface eth0 inet static address 10.13.8.170 netmask 255.255.255.0 gateway 10.13.8.161 dns-nameservers 10.13.8.161
dns看网上有人建议设置为网关IP,这里只用局域网,就按这个来了。
重启之后IP正确,路由表为
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.13.8.161 0.0.0.0 UG 0 0 0 eth0 10.13.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
此时ping宿舍网段内的IP没问题,但是ping不通网关,ping宿舍外其他校园网IP也不通
PING 10.13.8.161 (10.13.8.161) 56(84) bytes of data. From 10.13.8.170 icmp_seq=1 Destination Host Unreachable From 10.13.8.170 icmp_seq=2 Destination Host Unreachable From 10.13.8.170 icmp_seq=3 Destination Host Unreachable From 10.13.8.170 icmp_seq=4 Destination Host Unreachable --- 10.13.8.161 ping statistics --- 4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3004ms pipe 3
笔记本cmd下输入arp -a,两个IP都在,物理地址都是开发板的
10.13.8.169 3e-64-4e-d1-xx-xx 动态 10.13.8.170 3e-64-4e-d1-xx-xx 动态
再修改/etc/network/interfaces,依然采用静态IP,将IP改为DHCP分配的10.13.8.169,重启。此时路由表没变,可以ping通网关
PING 10.13.8.161 (10.13.8.161) 56(84) bytes of data. 64 bytes from 10.13.8.161: icmp_seq=1 ttl=255 time=14.4 ms 64 bytes from 10.13.8.161: icmp_seq=2 ttl=255 time=1.34 ms 64 bytes from 10.13.8.161: icmp_seq=3 ttl=255 time=1.26 ms 64 bytes from 10.13.8.161: icmp_seq=4 ttl=255 time=1.21 ms ^C --- 10.13.8.161 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 1.219/4.559/14.419/5.693 ms
arp -a发现10.13.8.170已经不在了,现将开发板关机。
再arp -a发现10.13.8.169不像之前10.13.8.170那样直接消失,而是一直存在。
然后过一段时间(大概10分钟)后再打开开发板,笔记本arp -a依然没变,但开发板已经无法ping通网关和其他宿舍外IP了。
个人觉得可能是网关只能通过dhcp分配IP,不接受静态IP,但是中间设置的静态IP等于DHCP分配的IP后,一段时间内依然可以ping通网关,之后就不行了,这是为什么?然后静态IP和网关同一个网段为什么也ping不通?求大神告知哪里出了问题,这种情况下怎么给开发板设置静态IP?
你是不是进行了子网划分?根据这条记录
10.13.8.160 0.0.0.0 255.255.255.240 U 100 0 0 eth0
我可以看得出来你后边的和这个都不在一个网段 10.13.8.240 /20这个才是你划分的网络地址 以目前来看你的这个网络地址最多容纳14个ip
多谢回复了,这个是宿舍的网划分好的,一个网口就14个IP,然后自己用路由器当交换机连着电脑和开发板的,而且设置的IP也是在网段内的
不明白的就是为什么PING不通网关,我不是科班出身,这些东西不太懂。。。
@逗比的狼: 那你还是用默认的吧。