查看“Linux系统下网络配置方法”的源代码
←
Linux系统下网络配置方法
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
对于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自动配置接口==== 编辑/etc/network/interfaces,参考设置如下:<br /> <syntaxhighlight lang="bash"> auto eth0 iface eth0 inet dhcp </syntaxhighlight> 重启networking服务生效<br /> <syntaxhighlight lang="bash"> /etc/init.d/networking restart </syntaxhighlight> 网络接口可以通过命令查看 <syntaxhighlight lang="bash"> $ ls /sys/class/net/ eth0 eth1 lo </syntaxhighlight> ====手动配置接口==== 编辑/etc/network/interfaces,参考设置如下:<br /> <syntaxhighlight lang="bash"> 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 </syntaxhighlight> 重启networking服务生效<br /> <syntaxhighlight lang="bash"> /etc/init.d/networking restart </syntaxhighlight> ====设置DNS==== /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"> dns-nameservers 1.2.4.8 114.114.114.114 </syntaxhighlight> 重启networking服务生效<br /> <syntaxhighlight lang="bash"> /etc/init.d/networking restart </syntaxhighlight> ====NetworkManager==== 有桌面的debian、ubuntu系统默认安装了network-manager,会进一步管理网络,在系统启动时通过/etc/init.d/network-manager启用。有桌面的系统,一般直接从桌面设置网络即可。若从/etc/network/interfaces中进行配置,对于interfaces中声明过的网络接口NetworkManager默认不再管理,重启[https://wiki.debian.org/NetworkManager NetworkManager]服务,会看到桌面上NetworkManager菜单中相应的网络接口显示“device not managed”<br /> <syntaxhighlight lang="bash"> /etc/init.d/network-manager restart </syntaxhighlight> 若仍需要管理该网络接口,则设置/etc/NetworkManager/NetworkManager.conf中managed为true<br /> <syntaxhighlight lang="bash"> [ifupdown] managed=true </syntaxhighlight> 也可以通过卸载network-manager来自己管理网络<br /> <syntaxhighlight lang="bash"> apt-get remove network-manager --purge </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> ====rockchip buildroot==== buildroot构建的busybox文件系统,在/etc/init.d/S40network中调用ifup命令,解析/etc/network/interfaces配置文件。此外系统下/etc/init.d/S41dhcpcd调用DHCP客户端程序[https://wiki.archlinux.org/index.php/Dhcpcd dhcpcd]对网络进一步管理。<br /> 配置静态IP、网关及DNS也可以通过编辑/etc/dhcpcd.conf,参考如下: <syntaxhighlight lang="bash"> interface eth0 static ip_address=192.168.0.10/24 static routers=192.168.0.1 static domain_name_servers=1.2.4.8 114.114.114.114 </syntaxhighlight> ====imx6 debian9==== 系统安装了[https://manpages.debian.org/testing/connman/connman.8.en.html connman]来进一步管理网络,接管了DNS的设置,安装resolvconf也无法解析/etc/network/interfaces中的DNS设置,可以卸载connman来自己管理网络。 <syntaxhighlight lang="bash"> apt-get remove connman --purge </syntaxhighlight> 若在/etc/network/interfaces中指定了网络接口获取dhcp,系统启动时有若干[https://wiki.debian.org/systemd systemd]服务在一直前台等待网络正常可能造成阻塞,可编辑/etc/network/interfaces为 <syntaxhighlight lang="bash"> allow-hotplug eth0 iface eth0 inet dhcp </syntaxhighlight> ====imx8 yocto==== 系统的init system使用systemd,系统下没有/etc/init.d/networking及/etc/network/interfaces来管理网络,使用了[https://wiki.archlinux.org/index.php/ConnMan connman]来管理网络。<br /> 获取有线网络列表 <syntaxhighlight lang="bash"> $ connmanctl services *AO Wired ethernet_06ee12e6d6cd_cable </syntaxhighlight> 设置静态IP、网关及DNS <syntaxhighlight lang="bash"> $ connmanctl config ethernet_06ee12e6d6cd_cable --ipv4 manual 192.168.0.10 255.255.255.0 192.168.0.1 $ connmanctl config ethernet_06ee12e6d6cd_cable --nameservers 1.2.4.8 114.114.114.114 </syntaxhighlight> 添加.config来保存设置,新建/var/lib/connman/eth.config <syntaxhighlight lang="bash"> [service_eth] Type = ethernet IPv4 = 192.168.0.10/255.255.255.0/192.168.0.1 Nameservers = 1.2.4.8,114.114.114.114 </syntaxhighlight> ====多网络接口==== 对有NetworkManager的系统,网络会自动选择。NetworkManager会给对应的网络接口都设置默认网关,但metric值不同,以太网比无线网的metric值要低,选择使用以太网。在NetworkManager检测到以太网被down下去,则使用无线网接口。<br /> 以下提供一些网络管理命令供参考: <syntaxhighlight lang="bash"> ip route show ip route add default via 192.168.0.1 dev eth0 metric 10 ip route del default via 192.168.0.1 ip link show ip link set eth0 down ip link set eth0 up ip addr show </syntaxhighlight>
返回至
Linux系统下网络配置方法
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息