索引 | 说明 |
网络配置常用 | 网络接口设定,IP地址设定,MAC与接口名修改,DHCP动态IP,静态IP,命名主机名,环回地址设定 |
IP网络基础 | IP网络初级知识,底层网络设置,DHCP配置网络接口,PPP,WLANi等配置 |
常用配置命令 | 常用配置命令 |
实战 | |
网络故障排除基础 |
网络配置:
1.Ethernet Interfaces网络接口地址:
Ethernet interfaces are identified by the system using the naming convention of ethX, where X represents a numeric value. The first Ethernet interface is typically identified as eth0, the second as eth1, and all others should move up in numerical order.
查找方式:
ifconfig -a | grep eth eth0 Link encap:Ethernet HWaddr 00:15:c5:4a:16:5a
或者#sudo lshw -class network
网络即可逻辑命名或者MAC地址设定:/etc/udev/rules.d/70-persistent-net.rules,NAME,ATTR{address}分别代表逻辑命名与MAC地址。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:c5:4a:16:5a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:c5:4a:16:5b", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
网络接口设定工具:
sudo apt-get install ethtool
sudo ethtool eth0
2. IP地址设定:工具ip, ifconfig and route,
sudo ifconfig eth0 10.0.0.100 netmask 255.255.255.0
ifconfig eth0
修改默认网关
sudo route add default gw 10.0.0.1 eth0
查看修改
route -n
配置DNS服务。
If you require DNS for your temporary network configuration, you can add DNS server IP addresses in the file/etc/resolv.conf. The example below shows how to enter two DNS servers to/etc/resolv.conf, which should be changed to servers appropriate for your network. A more lengthy description of DNS client configuration is in a following section.
nameserver 8.8.8.8
nameserver 8.8.4.4
清除所有IP配置ip addr flush eth0
3. DHCP Client: Dynamic IP Address Assignment (DHCP Client)动态IP
To configure your server to use DHCP for dynamic address assignment, add the dhcp method to the inet address family statement for the appropriate interface in the file/etc/network/interfaces.The example below assumes you are configuring your first Ethernet interface identified as eth0.
auto eth0
iface eth0 inet dhcp
By adding an interface configuration as shown above, you can manually enable the
interface through the ifup command which initiates the DHCP process via dhclient.
sudo ifup eth0
sudo ifdown eth0
4.静态IP:
配置文件:/etc/network/interfaces
auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1
然后
sudo ifup eth0
sudo ifdown eth0
5.环回地址:Loopback Interface
环回地址的标识为:lo,IP地址为:127.0.0.1
查看:ifconfig lo
配置/etc/network/interfaces:
auto lo
iface lo inet loopback
6.Name Resolution
处理从IP地址到主机名的映射。
DNS client配置:
/etc/resolv.conf
a server on the domain "example.com" and using two public DNS servers.
search example.com
nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com sales.example.com dev.example.com
nameserver 8.8.8.8
nameserver 8.8.4.4
静态主机名:
配置文件:/etc/hosts,IP到主机名的映射。
127.0.0.1 localhost
127.0.1.1 ubuntu-server
10.0.0.11 server1.example.com server1 vpn
10.0.0.12 server2.example.com server2 mail
10.0.0.13 server3.example.com server3 www
10.0.0.14 server4.example.com server4 file
7.其他技术Bridging桥接,Name Service Switch等
参考:https://help.ubuntu.com/10.04/serverguide/network-configuration.html
-----------------------------------------------------------
IP 网络设置基础
一个 Ubuntu 主机可能有很多有不同 Internet 协议(IP)地址的网络接口。接口可能有很多种,如:
Loopback:lo
Ethernet:eth0、eth1 ……
Wi-Fi:wlan0、wlan1、wifi0 ……
Token Ring:tr0、tr1 ……
PPP:ppp0、ppp1 ……
其他可用的网络设备还有很多,包括 SLIP、PLIP(串行和并行 IP)、控制某种网络接口流量的“shaper”设备、帧中继、AX.25、X.25、ARCnet 和 LocalTalk。
每个直接连接到 Internet(或任何基于 IP 的网络)的网络接口都用唯一的 32 位的 IP 地址来识别。 IP 地址可分为网络地址和主机地址两个部分。如果你拿到一个 IP 地址,把网络地址部分全部设为 1,而主机地址部分全部设为 0,则你将得到这个网络的子网掩码。
传统意义上,IP 网络按照网络地址的长度分为 8、16、24 位三个组别。这个系统缺乏灵活性,浪费了很多 IP 地址,所以现在的 IPv4 网络是由可变长度的网络号来分配的。
IP addresses net mask length
Class A 1.0.0.0 - 126.255.255.255 255.0.0.0 === /8
Class B 128.0.0.0 - 191.255.255.255 255.255.0.0 === /16
Class C 192.0.0.0 - 223.255.255.255 255.255.255.0 === /24
IP 地址不在这个范围内的被用作特殊目的。
每一个组别中都有保留给本地网络(LANs)使用的地址范围。这些地址不会和 Internet 上的发生冲突。(同理,如果主机被分配到这类地址的话,这些主机就不能直接访问 Internet,需要通过一个作为代理的网关或网络地址转换服务(NAT)才能访问 Internet。)这些地址范围在下表中列出,包含每个组别中这些地址范围的数目。
network addresses length how many
Class A 10.x.x.x /8 1
Class B 172.16.x.x - 172.31.x.x /16 16
Class C 192.168.0.x - 192.168.255.x /24 256
IP 网络中 IP 地址的第一个值就是网络本身,最后一个值是该网络的广播地址。 其余所有的 IP 地址都可以分配给网络中的主机。通常 IP 地址的第一个和最后一个都会留给该网络的 Internet 网关。
路由表包含了关于内核如何把 IP 包发送到它们目的地的信息。这儿有一个位于本地网络(LAN),IP 地址为 192.168.50.x/24 的 Debian 主机的路由表。另一台主机 192.168.50.1(也在 LAN 中)是公司网络 172.20.x.x/16 的路由器,主机 192.168.50.254(也在 LAN 中)是负责访问 Internet 的路由器。
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
127.0.0.0 * 255.0.0.0 U 0 0 2 lo
192.168.50.0 * 255.255.255.0 U 0 0 137 eth0
172.20.0.0 192.168.50.1 255.255.0.0 UG 1 0 7 eth0
default 192.168.50.254 0.0.0.0 UG 1 0 36 eth0
第一行说明传送目的地是 127.x.x.x 的话,则会通过 lo 回环网络接口来路由。
第二行说明传送目的地是 LAN 的话,则会通过 eth0 来路由。
第三行说明传送目的地是公司网络的话,则会通过 eth0 来路由,最后发送到网关 192.168.50.1。
第四行说明传送目的地是 Internet 的话,则会通过 etho 来路由,最后发送到网关 192.168.50.254。
路由表中的 IP 地址也可以用名称表示,这些名称从 /etc/networks 或通过 resolver(C Library)来获得。
除了路由之外,内核能实现网络地址转换(NAT)、流量控制和包过滤。
底层网络设置
GNU/Linux 上传统的底层网络设置工具是 ifconfig 和 route,它们在 net-tools 这个软件包中。目前这些工具被软件包 iproute 中的 ip 代替。ip 可以在 Linux 2.2 或更新的内核上运行,有着比老的工具更好的兼容性。然而,这些传统的设置工具还是能用的而且大家也更加熟悉。
[编辑] 底层网络设置 – ifconfig 和 route
下面演示如何把网络接口 eth0 的 IP 地址从 192.168.0.3 改为 192.168.0.111;设置 eth0 的路由,通过 192.168.0.1 访问 10.0.0.0 这个网络。 执行 ifconfig 和 route 时不带网络接口参数,则显示所有网络接口和路由的现状。
首先我们关闭网络接口。
# ifconfig eth0 inet down
# ifconfig
lo Link encap:Local Loopback
... (没有 eth0 这个条目了)
# route
... (没有路由表了)
接下来我们启动 eth0 并给予其新的 IP 地址和路由。
# ifconfig eth0 inet up 192.168.0.111 \
netmask 255.255.255.0 broadcast 192.168.0.255
# route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth0
底层网络设置 – ip
ip 和先前的 ifconfig 和 route 有相同功能的命令如下:
ip link show
ip route list
ip link set eth0 down
ip addr del dev eth0 local 192.168.0.3
ip addr add dev eth0 local 192.168.0.111/24 broadcast 192.168.0.255
ip link set eth0 up
ip route add dev eth0 to 10.0.0.0/8 src 192.168.0.111 via 192.168.0.1
运行的时候使用 help 参数,能让 ip 打印出命令的语法。 例如,ip link help 打印出:
设置无线网卡(Wi-Fi)接口
对于无线网卡(Wi-Fi)接口,除了 ifconfig 或 ip 之外,你还需要 iwconfig 这个程序。此程序在 wireless-tools 中。
[编辑] 设置 PPP 接口
如果你是通过连接在拨号电话机上的调制解调器,并使用 Point-to-Point 协议 (PPP) 来上网的。那么这样的网络连接就是通过 ppp0、ppp1 等网络接口来实现的。
PPP 接口是由 pppd 这个 PPP 服务来管理的。你可以在 ppp 中找到该程序。 所以,对于用户来说,设置 PPP 接口也就是对 pppd 进行设置。
[编辑] 手动设置 pppd
为了建立网络连接,我们需要打开一个通讯端口(通常是串口),需要把命令传输到通讯设备上(通常是调制解调器),需要拨某个电话号码,对于外部的 PPP 服务还需要进行身份验证,需要内核创建 PPP 接口,最后需要修改路由表。只有这样信息才能在这条连接上传递。 pppd 能完成上述所有动作,因而会有一堆的设置参数。相关参数参见 pppd(8)。
在 Ubuntu 系统上,全局的设置在 /etc/ppp/options 里面。用户的特定设置放在 ~/.ppprc。依赖于通讯端口的设置全部在 /etc/ppp/options.partname。
使用 DHCP 来配置网络接口
底层的网络接口设置可以用 Dynamic Host Configuration Protocol (DHCP) 来自动设置。你的防火墙或路由器或宽带 ISP 可能用这个方法来配置 IP 地址和其他参数。
要做这个工作你必须安装下列软件包的其中一个:
dhcp3-client (version 3, Internet Software Consortium)
dhcpcd (Yoichi Hariguchi and Sergei Viznyuk)
pump (Red Hat)
pump 简易且被广泛应用。 dhcp3-client 复杂,但是可配置程度更高。 [55]
[编辑] Debian 的高级网络设置
[编辑] 使用 ifupdown 进行高级网络设置
为了让网络设置更加简单,Debian 提供了一个标准的高级网络设置工具,包含 ifup 和 ifdown 程序和 /etc/network/interfaces 文件。 如果你选择用 ifupdown 来配置你的网络,那么就不要同时使用底层工具去配置。这也意味着你不应该用其他高级配置工具,如 whereami、divine、intuitively 等。他们调用的也是底层配置工具。ifupdown 程序在设计的时候,是假设仅有这样一个程序会被用来设置网络接口的。
更新接口设置是执行:
# ifdown eth0
# editor /etc/network/interfaces # 做你需要的调整
# ifup eth0
更多信息参阅 interfaces(5)、 /usr/share/doc/ifupdown/examples/network-interfaces.gz 和 ifup(8)。
[编辑] 用固定 IP 地址为接口进行设置
假设你要配置一个以太网接口,使其拥有一个固定的 IP 地址 192.168.0.111。这个 IP 地址以 192.168.0 为开头,所以它肯定在一个 LAN 内。进一步假设 192.168.0.1 是 LAN 上面 Internet 网关的地址。编辑 /etc/network/interfaces,使其包含类似下面这段的内容:
iface eth0 inet static
address 192.168.0.111
netmask 255.255.255.0
gateway 192.168.0.1
在接口被激活或是在激活之前,你都可以配置接口的其他部分或者进行其他操作。只要你在"up"和"down"那几行中设置合适的命令。
iface eth0 inet static
address 192.168.0.111
netmask 255.255.255.0
gateway 192.168.0.1
up route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.2 dev $IFACE
down route del -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.2 dev $IFACE
up echo Interface $IFACE going up | /usr/bin/logger -t ifup
down echo Interface $IFACE Going down | /usr/bin/logger -t ifdown
你也可以选择把命令插入到 /etc/network/if-up.d 和 /etc/network/if-down.d 目录下的脚本中。这些脚本也能执行扩展的选项。详情参阅 interfaces(5)。例如,软件包 resolvconf 包含的脚本允许你在接口被激活的同时,往 /etc/resolv.conf 添加指定的 DNS 信息:
iface eth0 inet static
address 192.168.0.111
netmask 255.255.255.0
gateway 192.168.0.1
dns-search somedomain.org
dns-nameservers 195.238.2.21 195.238.2.22
dns-search 选项的参数 somedomain.org 符合 resolv.conf(5) 中所说的 search 选项的参数。 dns-nameservers 选项的参数 195.238.2.21 和 195.238.2.22 符合选项 nameserver 的参数。其他可以识别的选项是 dns-domain 和 dns-sortlist。参阅 管理域名服务器信息 – resolvconf, 第 10.4.2 节。
用 DHCP 配置接口
底层的网络接口设置可以用 Dynamic Host Configuration Protocol (DHCP) 来自动设置。你的防火墙或路由器或宽带 ISP 可能用这个方法来配置 IP 地址和其他参数。
要做这个工作你必须安装下列软件包的其中一个:
- dhcp3-client (version 3, Internet Software Consortium)
- dhcpcd (Yoichi Hariguchi and Sergei Viznyuk)
- pump (Red Hat)
pump 简易且被广泛应用。 dhcp3-client 复杂,但是可配置程度更高
为了使用 DHCP 配置接口,请编辑 /etc/network/interfaces,使其包含一下这段内容:
iface eth0 inet dhcp
为了让 DHCP 能工作,你需要安装一个 使用 DHCP 来配置网络接口, 第 10.5 节中提及的 DHCP 客户端程序。
[编辑] 配置无线网卡(Wi-Fi)接口
软件包 wireless-tools 包含了一个钩子脚本 /etc/network/if-pre-up.d/wireless-tools,使得在接口被激活之前,对无线网卡(802.11a/b/g)进行设置变为可能。使用 iwconfig 程序来完成设置,参阅 iwconfig(8)。任何一个 iwconfig 的有效参数,你都可以把它包含在 /etc/network/interfaces 中,并在原有的参数名字前加上“wireless-”这个前缀。例如,要设置 eth0, 使得 eth0 在被 DHCP 激活之前, ESSID 设定为 myessid,encryption key 设定为 123456789e,请编辑 /etc/network/interfaces,加入一下这段内容:
iface eth0 inet dhcp
wireless-essid myessid
wireless-key 123456789e
注意!如果你使用 waproamd 来设置这个接口的话,你不应该使用这个方法来设置 ESSID 和 key。在 ifup 执行时,waproamd 就已经设置好了 ESSID 和 key。参阅 使用 waproamd 启动网络设置, 第 10.8.4 节。
[编辑] 设置 PPP 接口
ifup 和 ifdown 程序使用 pon 和 poff 来添加和删除 PPP 接口,所以先阅读 设置 PPP 接口, 第 10.2.4 节。
假设你已经设定了 PPP 和 myisp 一起工作。请编辑 /etc/network/interfaces,使其包含如下这段内容:
iface ppp0 inet ppp
provider myisp
这样设置好后,ifup ppp0 会完成
pon myisp
遗憾的是,目前无法在 /etc/network/interfaces 中的 ppp 段落里面提供额外的 pppd 选项。
目前无法使用 ifupdown 来为 PPP 接口提供辅助的设置。因为在 pppd 完成连接之前 pon 就已经存在了,ifup 执行激活脚本之后 PPP 接口才可用。到这个 bug 被修正之前,还是需要在 /etc/ppp/ip-up 或 /etc/ppp/ip-up.d/ 中进行额外的设置。
[编辑] 设置 PPPoE 接口
许多宽带因特网服务提供商(ISP)使用 PPP 协议来连接,即使用户的机器通过以太网和/或 ATM 网络连接他们。 这是通过 PPPoE 的技术来完成的,即把 PPP 祯封装在以太网卡(Ethernet)的祯里面。 假设你的 ISP 被称为 myisp。首先为 myisp 设置 PPP 和 PPPoE。最简单的方法就是安装 pppoeconf,然后从终端中运行 pppoeconf。之后编辑 /etc/network/interfaces 使其包含如下这段内容:
iface eth0 inet ppp
provider myisp
有时候最大传输单位 Maximum Transmit Unit (MTU) 和 PPPoE over Digital Subscriber Line (DSL) 有关。详情参阅 DSL-HOWTO。
注意!如果你的宽带调制解调器包含路由功能。那么当调制解调器/路由器自己处理 PPPoE 连接时,在 LAN 中它就表现的和简单的连接 Internet 的以太网网关一样。
[编辑] 为网关配置多个以太网接口
假设 eth0 已经用 DHCP-configured IP 地址连接到 Internet,并且 eth1 使用一个固定 IP 地址 192.168.1.1 连接到 LAN。编辑 /etc/network/interfaces 使其包含如下内容:
iface eth0 inet dhcp
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
如果按照 建立路由网关, 第 10.12 节中描述的去激活主机上的 NAT,那么你就能和 LAN 中的其他主机一起享用互联网连接了。
[编辑] 设置虚拟接口
使用虚拟接口,你可以设置一个以太网卡使其成为拥有很多 IP 子网的接口。例如,假设你的主机在 LAN 网络上(192.168.0.x/24)。你想要让主机连接到互联网,并用已经存在的以太网卡通过 DHCP 来获得公网 IP 地址。编辑 /etc/network/interfaces 使其包含如下一段内容:
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
iface eth0:0 inet dhcp
eth0:0 接口是一个虚拟的接口。当它被激活的时候,它的真实硬件 eth0 也会被激活。
[编辑] 使用 ifupdown 的逻辑接口定义进行高级网络设置
下列内容中,对于读者而言了解物理接口(physical interface)和逻辑接口(logical interface)之间的不同是重要的。 物理(physical)接口就是我们所说的“接口”,是由内核命名为 eth0、eth1、ppp0 或其他。逻辑(logical)接口是一套可以用来对物理接口的可变参数进行设置的值的集合。如果你觉得还不清楚,那么在阅读的时候就用“用 X 配置文件来设置接口”去代替“设置逻辑接口 X”。
在 /etc/network/interfaces 中 iface 的定义实际上是逻辑接口的定义,而不是物理接口的。 如果你从来不去重新配置你的接口,那么你就可以忽略这个细节。因为物理接口 foo 缺省会被设置成逻辑接口 foo。
假设你的电脑是台笔记本,你需要在家里和工作的地方之间穿梭。那么当你的电脑连接到公司的网络或家里的网络时,你都要相应地对 eth0 进行设置。
首先定义两个逻辑接口 home 和 work(取代 eth0,就像我们先前做的),它们分别描述了在家中的和公司的网络中如何设置接口。
iface home inet static
address 192.168.0.123
netmask 255.255.255.0
gateway 192.168.0.1
iface work inet static
address 81.201.3.123
netmask 255.255.0.0
gateway 81.201.1.1
然后通过适当的设置,并在命令行中指定这些设置。物理接口 eth0 就能在家庭网络中被激活了:
# ifup eth0=home
针对公司网络重新设置 eth0 只要运行这些命令:
# ifdown eth0
# ifup eth0=work
注意!如果 interfaces 中的内容如上述所写的,那么我们就不能单独执行 ifup eth0 来激活 eth0。理由是 ifup 使用物理接口名作为缺省的逻辑接口名,但是现在在我们的例子中,没有关于逻辑接口 eth0 的定义。
[编辑] 使用 ifupdown 进行自动的网络设置
在 ifup 运行的时候,接口的名称可以被“映射(mapped)”为别的名称。至于映射成什么名称,这个视情况决定。因此 ifup 能够被设置为用预设的逻辑接口集合中的一个合适的逻辑接口来激活物理接口。
逻辑接口名称映射产生的情况如下:
如果执行 ifup 的时候没有给定逻辑接口名称,那么物理接口名称就会被用作初始的逻辑接口名称。
如果逻辑接口名称符合 mapping 描述的 glob-pattern,那么就会映射到新生成的逻辑接口名称中去。对于每段映射都是这样按顺序进行的。
如果最终的逻辑接口名称是 /etc/network/interfaces 中定义的一个逻辑接口的标签,那么物理接口就被当作这个逻辑接口来激活。否则 ifup 会打印"Ignoring unknown interface"随后退出。
mapping 的语法:
mapping glob-pattern
script script-name
[map script input]
mapping 段落中的 script,总是把物理接口的名称作为它的参数。其他“map”行中的内容(不包含“map”本身)都会作为它的标准输入。该 script 在退出之前会把映射的结果作为标准输出打印出来。
例如,下面这段 mapping 会让 ifup 用逻辑接口 home 来激活接口 eth0。
mapping eth0
script /usr/local/sbin/echo-home
/usr/local/sbin/echo-home 的内容为:
#!/bin/sh
echo home
因为映射是由脚本来完成的,所以自动选择逻辑接口是可能的 — 基于一些选择测试。参阅 使用 guessnet 来选择逻辑接口, 第 10.6.3.1 节中的范例。
[编辑] 使用 guessnet 来选择逻辑接口
安装软件包 guessnet。然后在 /etc/network/interfaces 中加入如下一段内容:
mapping eth0
script guessnet-ifupdown
map home
map work
现在,当你 ifup eth0 的时候,guessnet 会检测 eth0 是否能用 home 或 work 来激活。它用存储在逻辑接口定义中的信息来完成这项工作。
[编辑] 使用 laptop-net 进行自动的网络设置
软件包 laptop-net 采用不同的方法处理自动的网络设置。Laptop-net 不用 ifupdown 的逻辑接口,取而代之的是它自己的一套配置"方案"和“配置文件”系统。不过,Laptop-net 还是会使用 ifup 和 ifdown 来设置物理接口。更多详细文档请安装 laptop-net-doc。
[编辑] 使用 network-manager 进行自动的网络设置
network-manager 这个软件现在是由 Fedora 的开发者们开发的,Ubuntu 已经对其进行了打包。有朝一日它也会出现在 debian 中,到时候我们应该放弃 ifupdown 和其他过时的朋友们了。
参考:http://wiki.ubuntu.org.cn/UbuntuManual:%E7%BD%91%E7%BB%9C%E8%AE%BE%E7%BD%AE
----------------------------------------------------------------
Ubuntu网络配置例如:
使用命令配置 即时生效 重启后会失效
(1) 配置eth0的IP地址, 同时激活该设备。 #ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up (2) 配置eth0别名设备eth0:1的IP地址,并添加路由。 #ifconfig eth0 192.168.1.3 #route add –host 192.168.1.3 dLINUX下的网络配置命令是ifconfig类似于WINDOWS命令行中的ipconfig。可以使用ifconfig命令来配置并查看网络接口的配置情况。
1、如:
(1) 配置eth0的IP地址, 同时激活该设备。
#ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up
(2) 配置eth0别名设备eth0:1的IP地址,并添加路由。
#ifconfig eth0 192.168.1.3
#route add –host 192.168.1.3 dev eth0:1
(3) 激活设备。
#ifconfig eth0 up
(4) 禁用设备。
#ifconfig eth0 down
(5) 查看指定的网络接口的配置。
#ifconfig eth0
(6) 查看所有的网络接口配置。
#ifconfig
2、 route
可以使用route命令来配置并查看内核路由表的配置情况。
例如:
(1) 添加到主机的路由。
#route add –host 192.168.1.2 dev eth0:0
#route add –host 10.20.30.148 gw 10.20.30.40
(2) 添加到网络的路由。
#route add –net 10.20.30.40 netmask 255.255.255.248 eth0
#route add –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
#route add –net 192.168.1.0/24 eth1
(3) 添加默认网关。
#route add default gw 192.168.1.1
(4) 查看内核路由表的配置。
#route
(5)删除路由。
#route del –host 192.168.1.2 dev eth0:0
#route del –host 10.20.30.148 gw 10.20.30.40
#route del –net 10.20.30.40 netmask 255.255.255.248 eth0
#route del –net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
#route del –net 192.168.1.0/24 eth1
#route del default gw 192.168.1.1
对于1和2两点可使用下面的语句实现:
Ifconfig eth0 172.16.19.71 netmask 255.255.255.0
Route 0.0.0.0 gw 172.16.19.254
Service network restart
3、 traceroute
可以使用traceroute命令显示数据包到达目的主机所经过的路由。
例如:
#traceroute x
4、 ping
可以使用ping 命令来测试网络的连通性。
例如:
#ping x
#ping –c 4 192.168.1.12
5、 netstat
可以使用netstat命令来显示网络状态信息。
例如:
(1) 显示网络接口状态信息。
#netstat –i
(2) 显示所有监控中的服务器的Socket和正使用Socket的程序信息。
#netstat –lpe
(3) 显示内核路由表信息。
#netstat –r
#netstat –nr
(4) 显示TCP/UDP传输协议的连接状态。
#netstat –t
#netstat –u
6、 hostname
可以使用hostname命令来更改主机名。例如;
#hostname myhost
7、 arp
可以使用arp命令来配置并查看arp缓存。例如:
(1) 查看arp缓存。
#arp
(2) 添加一个IP地址和MAC地址的对应记录。
#arp –s 192.168.33.15 00:60:08:27:CE:B2
(3) 删除一个IP地址和MAC地址的对应缓存记录。
#arp –d192.168.33.15
Ubuntu命令行下的网络配置
编辑 /etc/network/interface文件如下
先添加
auto lo
iface lo inet loopback
auto eth0
如果是自动获取ip,添加
iface eth0 inet dhcp
如果是手动配置ip,添加
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
network xxx.xxx.xxx.xxx
boardcast xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
tags:命令,网络,Ubuntu
---------------------------------------------------------------------------
实战:
一、使用命令设置ubuntu的ip地址
1. 设置IP
sudo ifconfig eth0 203.171.239.155 netmask 255.255.255.224
这样就算设置好了网卡eth0的IP地址和子网掩码
2. 设置网关 sudo route add default gw 203.171.239.129
3. 设置DNS 修改/etc/resolv.conf,在其中加入 nameserver DNS的地址1 nameserver DNS的地址2 完成。
不过,这样设置之后,下次开机时候似乎IP又不存在了。
二、直接修改系统配置文件
ubuntu的网络配置文件是:/etc/network/interfaces
ubuntu命令行修改网络配置方法
/etc/network/interfaces
打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载.
1. 以DHCP方式配置网卡
编辑文件/etc/network/interfaces:
sudo vi /etc/network/interfaces
并用下面的行来替换有关eth0的行:
# The primary network interface - use DHCP to find our address
auto eth0
iface eth0 inet dhcp
用下面的命令使网络设置生效:
sudo /etc/init.d/networking restart
也可以在命令行下直接输入下面的命令来获取地址
sudo dhclient eth0
2. 为网卡配置静态IP地址
编辑文件/etc/network/interfaces:
sudo vi /etc/network/interfaces
并用下面的行来替换有关eth0的行:# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0
#network 192.168.3.0
#broadcast 192.168.3.255
将上面的ip地址等信息换成你自己就可以了.用下面的命令使网络设置生效:
sudo /etc/init.d/networking restart
3. 设定第二个IP地址(虚拟IP地址)
编辑文件/etc/network/interfaces:
sudo vi /etc/network/interfaces
在该文件中添加如下的行:
auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x
根据你的情况填上所有诸如address,netmask,network,broadcast和gateways等信息.
用下面的命令使网络设置生效:
sudo /etc/init.d/networking restart
4. 设置主机名称(hostname)
使用下面的命令来查看当前主机的主机名称:
sudo /bin/hostname
使用下面的命令来设置当前主机的主机名称:
sudo /bin/hostname newname
系统启动时,它会从/etc/hostname来读取主机的名称.
关于设置主机名称的更多信息,请访问这里
5. 配置DNS
首先,你可以在/etc/hosts中加入一些主机名称和这些主机名称对应的IP地址,这是简单使用本机的静态查询.
要访问DNS 服务器来进行查询,需要设置/etc/resolv.conf文件.
假设DNS服务器的IP地址是192.168.3.2, 那么/etc/resolv.conf文件的内容应为:
search test.com
nameserver 192.168.3.2
6.手动重启网络服务:
sudo /etc/init.d/networking restart
返回结果如下:
*Reconfiguring network interfaces… [OK]
现在,你可以在终端里输入ipconfig命令来查看你修改的结果。
如果不对,你还需要重启下。
步骤-卸载 Gnome Network Manager:这是必须的一步,因为不卸载的话,不管你如何设置,重启后都会被重置。这个就是Bug所在之
网络故障排除基础
网络故障排除
如果你遇到了问题,首先执行下列命令来检查输出的结果:
# ifconfig
# cat /proc/pci
# cat /proc/interrupts
# dmesg | more
网络服务设置
桌面和家用服务器典型的网络服务设置包括:
- Internet super-server 和 TCP/IP daemon wrapper,参阅 服务的访问限制, 第 9.2.5 节。
- /etc/inetd.conf
- ssh: OpenSSH secure shell,参阅 SSH, 第 9.5 节。
- /etc/ssh/ssh_config
- /etc/ssh/sshd_config
- exim:邮件传输代理(MTA),参阅 邮件名, 第 10.3.2 节和 邮件传输代理(MTAs), 第 9.6.1 节。
- /etc/exim/exim.conf
- /etc/mailname
- /etc/aliases
- /etc/email-addresses
- fetchmail:从 POP3 帐户中收取邮件的守护进程,参阅 收取邮件 – Fetchmail, 第 9.6.2 节。
- /etc/fetchmailrc
- procmail:本地邮件传递和过滤程序,参阅 处理邮件 – Procmail, 第 9.6.3 节。
- ~/.procmailrc
- 主机名和 DNS (proxy, cache, ...),参阅 主机名, 第 10.3.1 节和 域名服务(DNS), 第 10.4 节。
- /etc/host.conf
- /etc/hostname
- /etc/hosts
- /etc/hosts.allow
- /etc/hosts.deny
- /etc/resolv.conf
- /etc/bind/named.conf(编辑)
- /etc/bind/db.lan (add for LAN hosts)
- /etc/bind/db.192.168.0 (add for LAN reverse)
- DHCP,参阅 使用 DHCP 来配置网络接口, 第 10.5 节。
- /etc/dhcp3/dhclient.conf(DHCP 客户端)
- /etc/default/dhcp3-server(DHCP 服务器端)
- /etc/dhcp3/dhcpd.conf(DHCP 服务器端)
- cvs:当前版本控制系统,参阅 并行版本系统 (CVS), 第 12.1 节.
- /etc/cvs-cron.conf
- /etc/cvs-pserver.conf
- nfs-kernel-server:网络文件系统,参阅 NFS 设置, 第 3.4 节。(针对类 Unix 系统)
- /etc/exports
- samba:Windows 网络文件和打印机共享,参阅 Samba 设置, 第 3.5 节和 Samba, 第 8.6.38 节。
- /etc/samba/smb.conf
- 打印机守护进程系统,参阅 打印机设置, 第 3.6 节。
- /etc/printcap (for lpr)
- apache 和 apache2:Web 服务器。
- /etc/apache/*
- /etc/apache2/*
- squid: Web 代理和缓存服务器。
- /etc/squid/*
参考:http://blog.csdn.net/icycolawater/article/details/6992956
http://wiki.ubuntu.org.cn/UbuntuManual:%E7%BD%91%E7%BB%9C%E8%AE%BE%E7%BD%AE
https://help.ubuntu.com/10.04/serverguide/network-configuration.html