“Linux系统下网络配置方法”的版本间的差异
Tangdapeng(讨论 | 贡献) |
Tangdapeng(讨论 | 贡献) |
||
第1行: | 第1行: | ||
− | |||
对于busybox、debian、ubuntu系统,大多数[https://wiki.debian.org/NetworkConfiguration 网络设置]可以通过/etc/network/interfaces配置文件完成。系统启动时通过/etc/init.d/networking服务中的ifup程序来解析/etc/network/interfaces配置文件。若接口设置为dhcp方式则会调用系统下的DHCP客户端程序udhcpc或dhclient来动态获取IP。<br /> | 对于busybox、debian、ubuntu系统,大多数[https://wiki.debian.org/NetworkConfiguration 网络设置]可以通过/etc/network/interfaces配置文件完成。系统启动时通过/etc/init.d/networking服务中的ifup程序来解析/etc/network/interfaces配置文件。若接口设置为dhcp方式则会调用系统下的DHCP客户端程序udhcpc或dhclient来动态获取IP。<br /> | ||
====使用DHCP自动配置接口==== | ====使用DHCP自动配置接口==== | ||
− | + | 编辑/etc/network/interfaces,参考设置如下:<br /> | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
auto eth0 | auto eth0 | ||
第10行: | 第9行: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
/etc/init.d/networking restart | /etc/init.d/networking restart | ||
+ | </syntaxhighlight> | ||
+ | 网络接口可以通过命令查看 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ ls /sys/class/net/ | ||
+ | eth0 eth1 lo | ||
+ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
====手动配置接口==== | ====手动配置接口==== | ||
− | + | 编辑/etc/network/interfaces,参考设置如下:<br /> | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
auto eth0 | auto eth0 | ||
第26行: | 第31行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
====设置DNS==== | ====设置DNS==== | ||
− | /etc/resolv.conf中的DNS列表为其他程序、库最终使用的DNS列表,该文件会被resolvconf、network-manager及DHCP客户端修改覆盖,建议直接编辑/etc/network/ | + | /etc/resolv.conf中的DNS列表为其他程序、库最终使用的DNS列表,该文件会被resolvconf、network-manager及DHCP客户端修改覆盖,建议直接编辑/etc/network/interfaces,并确认系统下安装了resolvconf程序,通过以下命令确认。 |
+ | <syntaxhighlight lang="bash"> | ||
+ | $ which resolvconf | ||
+ | /sbin/resolvconf | ||
+ | </syntaxhighlight> | ||
+ | 编辑/etc/network/interfaces,参考设置如下:<br /> | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
dns-nameservers 1.2.4.8 114.114.114.114 | dns-nameservers 1.2.4.8 114.114.114.114 | ||
+ | </syntaxhighlight> | ||
+ | 重启networking服务生效<br /> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | /etc/init.d/networking restart | ||
</syntaxhighlight> | </syntaxhighlight> | ||
====NetworkManager==== | ====NetworkManager==== | ||
第44行: | 第58行: | ||
apt-get remove network-manager --purge | apt-get remove network-manager --purge | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | ====海思busybox==== | |
− | === | + | 海思主板的linux系统使用的busybox文件系统比较精简,没有/etc/network/interfaces配置文件,系统默认在/etc/init.d/S*_norco中用ifconfig命令配置了静态IP。<br /> |
− | [ | + | 配置动态IP使用udhcpc命令,参考如下: |
+ | <syntaxhighlight lang="bash"> | ||
+ | udhcpc -i eth0 | ||
+ | </syntaxhighlight> | ||
+ | 配置为静态IP及网关使用[https://wiki.linuxfoundation.org/networking/iproute2 ip]命令,参考如下: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | ip addr add 192.168.0.10/24 brd + dev eth0 | ||
+ | ip route add default via 192.168.0.1 dev eth0 | ||
+ | </syntaxhighlight> | ||
+ | 设置DNS,若设置动态IP,则udhcpc会动态创建/etc/resolv.conf,若设置静态IP,可直接编辑/etc/resolv.conf | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | nameserver 1.2.4.8 | ||
+ | nameserver 114.114.114.114 | ||
+ | </syntaxhighlight> |
2020年4月8日 (三) 19:55的版本
对于busybox、debian、ubuntu系统,大多数网络设置可以通过/etc/network/interfaces配置文件完成。系统启动时通过/etc/init.d/networking服务中的ifup程序来解析/etc/network/interfaces配置文件。若接口设置为dhcp方式则会调用系统下的DHCP客户端程序udhcpc或dhclient来动态获取IP。
使用DHCP自动配置接口
编辑/etc/network/interfaces,参考设置如下:
auto eth0
iface eth0 inet dhcp
重启networking服务生效
/etc/init.d/networking restart
网络接口可以通过命令查看
$ ls /sys/class/net/
eth0 eth1 lo
手动配置接口
编辑/etc/network/interfaces,参考设置如下:
auto eth0
iface eth0 inet static
address 192.168.0.10
gateway 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
重启networking服务生效
/etc/init.d/networking restart
设置DNS
/etc/resolv.conf中的DNS列表为其他程序、库最终使用的DNS列表,该文件会被resolvconf、network-manager及DHCP客户端修改覆盖,建议直接编辑/etc/network/interfaces,并确认系统下安装了resolvconf程序,通过以下命令确认。
$ which resolvconf
/sbin/resolvconf
编辑/etc/network/interfaces,参考设置如下:
dns-nameservers 1.2.4.8 114.114.114.114
重启networking服务生效
/etc/init.d/networking restart
NetworkManager
有桌面的debian、ubuntu系统默认安装了network-manager,会进一步管理网络,在系统启动时通过/etc/init.d/network-manager启用。有桌面的系统,一般直接从桌面设置网络即可。若从/etc/network/interfaces中进行配置,对于interfaces中声明过的网络接口NetworkManager默认不再管理,重启NetworkManager服务,会看到桌面上NetworkManager菜单中相应的网络接口显示“device not managed”
/etc/init.d/network-manager restart
若仍需要管理该网络接口,则设置/etc/NetworkManager/NetworkManager.conf中managed为true
[ifupdown]
managed=true
也可以通过卸载network-manager来自己管理网络
apt-get remove network-manager --purge
海思busybox
海思主板的linux系统使用的busybox文件系统比较精简,没有/etc/network/interfaces配置文件,系统默认在/etc/init.d/S*_norco中用ifconfig命令配置了静态IP。
配置动态IP使用udhcpc命令,参考如下:
udhcpc -i eth0
配置为静态IP及网关使用ip命令,参考如下:
ip addr add 192.168.0.10/24 brd + dev eth0
ip route add default via 192.168.0.1 dev eth0
设置DNS,若设置动态IP,则udhcpc会动态创建/etc/resolv.conf,若设置静态IP,可直接编辑/etc/resolv.conf
nameserver 1.2.4.8
nameserver 114.114.114.114