嵌入式linux 网络配置
1 配置IP
- IP是什么不多说了
- 步骤
ifconfig eth0 x.x.x.x netmask 255.255.255.0
如果 ping 不同127.0.0.1 ,可能是还没配置localhost ,需要执行 ifconfig lo 127.0.0.1 up
2 查看网关,配置网关,检查配置
-
网关是什么?
通俗的说,网关是一个网络连接另一个网络的**“关口”(gateway),实质上是一个网络通向其他网络的IP地址**,参考百科里的介绍。
-
步骤:
route
查看网关,即gateway, 默认是 *
。
route add default gw x.x.x.x
配置网关。
route -n
查看配置,正确的:
-
那么网关应该配置为多少?
我现在开发板通过网线连接到路由器,电脑也连到路由器,现在的网关就是 192.168.1.1
,同时我电脑设置的自动获取IP,可以在cmd里用ipconfig查看一下电脑的ip,开发板可以ping通电脑,也可以ping通 192.168.1.1。 现在路由器我电脑和开发板和路由器就构成了一个局域网,如果想访问外网,就按照一般方法去配置路由器。
-
注意 前面设置IP时,一定要和网关在同一网段,不然即使连线接在一起了也ping不同。一般使用ping网关的方法,测试网络问题是否在局域网内。
3 配置DNS
-
DNS是什么?
DNS(Domain Name System,域名系统),是一个域名和IP相互映射的分布式数据库,使用户不需要记住IP,只需要记住域名。在linux中可以修改/etc/hostname
和/etc/hosts
,给对应的IP配上对应的主机名,DNS与此类似。
-
前面如果配置完可以通过IP连接外网了,那么可以ping一个外网IP试试,我试了一下用电脑ping一些DNS,但是都不通,但是我电脑是可以访问网络的,看到有人说DNS一般是禁止ping的,现在不知是这个原因还是路由器设置的问题。
-
步骤:
cd /etc
切换到 etc 目录下
ls
看一下有没有resolv.conf 这个文件,默认应该是没有的
vi resolv.conf
创建并编辑resolv.conf,添加内容 nameserver 8.8.8.8
现在正常来说,应该可以ping外网了,比如 ping www.baidu.com
。但是应该还是我用的路由器的问题,也可能是校园网的问题,我电脑和开发板都ping不通baidu,但是能ping通校园网,同时我电脑是可以正常上网的。这个问题对我的使用暂时没啥影响。
-
另外在https://www.zhihu.com/question/21804682 看到关于有路由器时设置固定DNS的问题,如果电脑没有设置DNS,而是自动从DHCP获取,那么就是从路由器获取DNS,如果不是电脑设置了固定的DNS,那就会忽略路由器的设置。路由器的DNS也是可以设置的。
Zynq 运行linux时网络配置的相关问题
###问题1: 启动linux 后输入ifconfig 无反应
- 首先确定在vivado 中配置block design的时候一定要使能ENET
- 输入ifconfig无反应的原因可能是没有设置bootargs的ip地址,所以没有初始ip地址,输入ifconfig就无反应,这时直接配置一下就可以,执行
ifconfig lo 127.0.0.1 up
配置localhos他,否则ping不通127.0.0.1
ifconfig eth0 x.x.x.x netmask 255.255.255.0
, x.x.x.x
为要设置的ip。
###问题2: 现在zedboard 启动linux有问题,每次启动,linux系统的配置都会重置,只有sd卡中的内容是保存下来的。
- 解决方法: 目前方法是写一个配置网络的脚本放在sd卡里。。。 正确方法应该是修改linux启动方式。
- 注意,xilinx linux 里默认的Shell是 不是bash,而是使用了busybox,其中busybox中的Shell为ash,所以shell脚本的开头写
#! /bin/sh
可以使用echo $SHELL
查看默认Shell类型
问题3: SSH 连接zynq
- 用户名是root,密码可以先通过串口访问zynq,然后用
passwd
命令设置新密码。
问题3: zedboard 配置了dns后ping 不同localhost?
- 取消配置就可以ping 通了,在/etc目录下创建 resolv.conf 并且添加
nameserver x.x.x.x
后,xilinx linux好像就不再去解析 /etc/hosts 中的内容,原因还没找到。
问题4: 如何通过ssh传输文件到zedboard?
- 使用
scp xx.txt root@x.x.x.x:/etc
可将文件xx.txt 传输到板子的 /etc 目录下
虚拟机网络配置
路由器如何给虚拟机一个IP?
- 虚拟机的网络直接设置成桥接即可,然后再虚拟机中可以设置一个固定IP
- 什么是桥接?