一、.ifconfig命令

用来设定IP地址等。

1.命令格式

ifconfig [网络设备] [参数]

2.常用选项

查看:ifconfig [Interface] [-a]

启用或禁用:ifconfig IFACE up|down

启用或禁用混杂模式:[-]promisc,如果选择此参数,网卡将接收网络中发给它所有的数据包

设定MTU: mtu N

设定IP:
                ifconfig IFACE IP/Netmask [up]
                ifcconfig IFACE IP netmask NETMASK
                #立即起效,但不能永久有效;

3、实例

1)、查看所有网卡状态

[root@bash ~]# ifconfig -a
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.6  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fee1:6e8c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e1:6e:8c  txqueuelen 1000  (Ethernet)
        RX packets 2861646  bytes 2752671819 (2.5 GiB)
        RX errors 0  dropped 224  overruns 0  frame 0
        TX packets 1032405  bytes 108810235 (103.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 1308  bytes 141244 (137.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1308  bytes 141244 (137.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2)、启用和禁用网卡

[root@CentOS ~]# ifconfig eth1 down
[root@CentOS ~]# ifconfig|grep eth1
[root@CentOS ~]# ifconfig eth1 up
[root@CentOS ~]# ifconfig|grep eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:30:84:C4

3)、设置临时ip地址

[root@CentOS ~]# ifconfig eth1 192.168.1.11/24 up
[root@CentOS ~]# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:30:84:C4  
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:771 errors:0 dropped:0 overruns:0 frame:0
          TX packets:202 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:50906 (49.7 KiB)  TX bytes:24364 (23.7 KiB)

4)、设置MTU

[root@CentOS ~]# ifconfig eth1 mtu 2000
[root@CentOS ~]# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:0C:29:30:84:C4  
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST SLAVE MULTICAST  MTU:2000  Metric:1
          RX packets:771 errors:0 dropped:0 overruns:0 frame:0
          TX packets:202 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:50906 (49.7 KiB)  TX bytes:24364 (23.7 KiB)

二、route命令

查看管理路由表,立即起效,但不会永久生效;

1.命令格式

route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]

2.常用选项

查看内核路由表:route [-n][-ee]
添加路由:route add
            -host HOST_IP gw NEXT_HOP [dev DEVICE]  #不能填写掩码
            -net NET_ADDR gw NEXT_HOP [dev DEVICE]  #只能制定网段
            -net 0.0.0.0 gw NEXT_HOP [dev DEVICE]
            default gw NEXT_HOP [dev DEVICE]
删除路由:route del
            -host HOST_IP
            -net NET_ADDR

3.实例

1)、查看当前路由表

[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   *               255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
default         192.168.120.240 0.0.0.0         UG    0      0        0 eth0

[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.120.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.0.0     192.168.120.1   255.255.0.0     UG    0      0        0 eth0
10.0.0.0        192.168.120.1   255.0.0.0       UG    0      0        0 eth0
0.0.0.0         192.168.120.240 0.0.0.0         UG    0      0        0 eth0

说明:第一行表示主机所在网络的地址为192.168.120.0,若数据传送目标是在本局域网内通信,则可直接通过eth0转发数据包;

第四行表示数据传送目的是访问Internet,则由接口eth0,将数据包发送到网关192.168.120.240

其中Flags为路由标志,标记当前网络节点的状态。

Metric 距离、跳数。暂无用。

Ref 不用管,恒为0。

Flags标志说明:

  • U Up表示此路由当前为启动状态

  • H Host,表示此网关为一主机

  • G Gateway,表示此网关为一路由器

  • R Reinstate Route,使用动态路由重新初始化的路由

  • D Dynamically,此路由是动态性地写入

  • M Modified,此路由是由路由守护程序或导向器动态修改

  • ! 表示此路由当前为关闭状态

备注:

route -n (-n 表示不解析名字,列出速度会比route 快)

2)、添加路由表

[root@CentOS ~]# route add default gw 192.168.1.9 #添加默认网关
[root@CentOS ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.1.9     0.0.0.0         UG    0      0        0 eth0

[root@CentOS ~]# route add -net 192.168.10.0 gw 192.168.10.22\
 netmask 255.255.255.0 dev eth1 #添加网络路由
[root@CentOS ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.10.0    192.168.10.22   255.255.255.0   UG    0      0        0 eth1
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.1.9     0.0.0.0         UG    0      0        0 eth0

[root@CentOS ~]# route add -host 192.168.10.3 gw 192.168.10.22 dev eth1 
#添加主机路由,此处不应该写掩码,写会报错                    

[root@CentOS ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.3    192.168.10.22   255.255.255.255 UGH   0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.10.0    192.168.10.22   255.255.255.0   UG    0      0        0 eth1
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.1.9     0.0.0.0         UG    0      0        0 eth0

3)、删除路由记录

[root@CentOS ~]# route del -host 192.168.10.3 gw 192.168.10.22 dev eth1 #删除主机路由
[root@CentOS ~]# route del -net 192.168.10.0 gw 192.168.10.22\
netmask 255.255.255.0 dev eth1 #删除网络路由
[root@CentOS ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.1.9     0.0.0.0         UG    0      0        0 eth0

小贴士:

在linux中添加永久路由的方法

1)、写入/etc/rc.loacl

可以将上面提到的命令写入/etc/rc.local文件中,这样在系统启动的时候会自动加入相关的路由设置 不过这种方法有一个缺点:如果某个系统服务,比如说是NFS服务,这个服务是在启动network服务之后,在执行rc.local之前,如果你设置的有自动挂载的nfs,那么,这里链路的不通畅,会造成挂载的失败。另外一个就是如果你重启了网络服务器,那么路由就失效了,这个时候你不得不重新加载这个文件,但是如果你是远程操作的呢?所以,这个方法不是非常的不推荐

2)、在/etc/sysconfig/network里添加到文件末尾,格式如下(注:未验证有效性):

GATEWAY=gw-ip 或者 GATEWAY=gw-dev 这种方式从外观上来看只能用于添加默认网关了。。。对于多路网络环境貌似不太适合的样子

3)、直接写入ifcfg文件

在配置ip地址的时候直接将GATEWAY的配置写入ifcfg文件,形式:GATEWAY=gw-ip 适合添加默认路由

4)、写入/etc/sysconfig/static-routes文件

默认在/etc/sysconifg目录中是没有这个文件的,需要我们手工创建,对这个文件的调用在下面: /etc/init.d/network:

159         # Add non interface-specific static-routes.
160         if [ -f /etc/sysconfig/static-routes ]; then
161            grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
162               /sbin/route add -$args
163            done
164         fi

/etc/sysconfig/static-routes:
any net 192.168.1.0/24 gw 192.168.1.24
any net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1

这种方式的话,和rc.local比较而言,比较实用,还比如nfs,这个路由的生效时间是在网络服务network启动的时候生效的,而其他的一些网络相关服务都是在网络服务启动成功之后再启动的,所以能够保证网络链路的通畅。 而且,如果我重启了网络服务,这个脚本是在网络服务启动脚本里面调用的,所以也会自动添加上相关的路由设置

三、tui或者gui配置网络命令

TUI:system-config-network-tui
GUI: system-config-network-gui
#setup
#nmtui    NetworkManager的字符界面管理工具

四、ip命令

ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。几乎所有的Linux发行版本都支持该命令。

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT:
            link: 链接接口,如eth0
            addr: 管理设备上的地址
            route: 管理路由

link:
            show [IFACE]
            set IFACE {up|down}
            set IFACE name NEWNAME

addr:
            添加地址:ip addr add IP/Prefixlen dev DEVICE
            删除地址:ip addr del IP/prefixlen dev DEVICE
            查看:ip addr show [IFACE]
            清空:ip addr flush IFACE

route:
            查看路由:ip route {show|list}
            添加路由:ip route add DESTINATION via NEXT_HOP [dev DEIVCE]
            定义默认网关:ip route add default via NEXT_HOP [dev DEVICE]
            删除路由:ip route del DESTINATION 
            搜索指定路由:ip route get DESTINATION

实例:

1)link

[root@young ~]# ip link #显示所有网络设备状态,ip -s link会显示更为详细信息
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:30:84:c4 brd ff:ff:ff:ff:ff:ff
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:30:84:ce brd ff:ff:ff:ff:ff:ff
4: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether 22:4f:02:f2:45:36 brd ff:ff:ff:ff:ff:ff
[root@young ~]# ip link show eth0  #显示指定网络设备状态
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:30:84:c4 brd ff:ff:ff:ff:ff:ff

[root@young ~]# ip link set eth1 down #关闭指定设备
[root@young ~]# ip link show eth1
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:30:84:ce brd ff:ff:ff:ff:ff:ff
[root@young ~]# ip link set eth1 up  #打开指定设备

[root@young ~]# ip link set eth1 down
[root@young ~]# ip link set eth1 name eth9  #更改设备名称,要先关闭设备
[root@young ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:30:84:c4 brd ff:ff:ff:ff:ff:ff
3: eth9: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:30:84:ce brd ff:ff:ff:ff:ff:ff
4: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether 22:4f:02:f2:45:36 brd ff:ff:ff:ff:ff:ff

2)addr

[root@young ~]# ip addr add 192.168.10.11/24 dev eth1  #给设备添加ip地址
[root@young ~]# ip addr show eth1
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:30:84:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.3/24 brd 192.168.10.255 scope global eth1
    inet 192.168.10.11/24 scope global secondary eth1

[root@young ~]# ip addr del 192.168.10.11/24 dev eth1  #删除设备ip地址
[root@young ~]# ip addr show eth1
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:30:84:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.3/24 brd 192.168.10.255 scope global eth1

[root@young ~]# ip addr show  #查看所有设备ip地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:30:84:c4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.9/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::20c:29ff:fe30:84c4/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:30:84:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.3/24 brd 192.168.10.255 scope global eth1
4: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether 22:4f:02:f2:45:36 brd ff:ff:ff:ff:ff:ff

[root@young ~]# ip addr show eth0 #查看制定设备ip地址
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:30:84:c4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.9/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::20c:29ff:fe30:84c4/64 scope link 
       valid_lft forever preferred_lft forever

[root@young ~]# ip addr show eth1
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:30:84:ce brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.3/24 brd 192.168.10.255 scope global eth1
[root@young ~]# ip addr flush eth1   #清空指定设备的ip地址
[root@young ~]# ip addr show eth1 
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether 00:0c:29:30:84:ce brd ff:ff:ff:ff:ff:ff

3)route

[root@young ~]# ip route show  #显示所有路由记录
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.9 
169.254.0.0/16 dev eth0  scope link  metric 1002 

[root@young ~]# ip route add 192.168.10.0 via 192.168.10.6 dev eth1 #添加路由记录
[root@young ~]# ip route list
192.168.10.0 via 192.168.10.6 dev eth1 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.9 
192.168.10.0/23 dev eth1  proto kernel  scope link  src 192.168.10.6 
169.254.0.0/16 dev eth0  scope link  metric 1002 
[root@young ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.10.0    192.168.10.6    255.255.255.255 UGH   0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.10.0    0.0.0.0         255.255.254.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

[root@young ~]# ip route add default via 192.168.1.1 dev eth0  #添加默认路由

[root@young ~]# ip route del 192.168.10.0/23 #删除指定路由
[root@young ~]# ip route show
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.9 
169.254.0.0/16 dev eth0  scope link  metric 1002 
default via 192.168.1.1 dev eth0 

[root@young ~]# ip route get 10.42.0.47 #查看路由包来源
10.42.0.47 via 192.168.1.1 dev eth0  src 192.168.1.9 
cache  mtu 1500 hoplimit 64