首页 > 代码库 > Linux命令:网络配置常用命令

Linux命令:网络配置常用命令

网络配置常用命令简介:

   在Linux中网络属于内核的功能

1. 执行命令生成地址:(执行后立即生效,服务重启后失效)

  RHEL5: /etc/modprobe.conf
  RHEL6: /etc/udev/rules.d/70-persistent-net.rules
  alias

  ifconfig [ethX]     -a: 显示所有接口的配置住处   
  ifconfig ethX IP/MASK [up|down]     配制后立即生效,重启后网络服务或主机失效

   
  网络服务:
   RHEL5:  /etc/init.d/network {start|stop|restart|status}
   RHEL6:  /etc/init.d/NetworkManager {start|stop|restart|status} 不常用

eg1. ifconfig eth1

eg2. ifconfig eth1 172.16.1.88/24 up


2. 执行命令生成网关:(执行后立即生效,服务重启后失效)
  route
    add: 添加
        -host: 主机路由
        -net:网络路由
            -net 0.0.0.0
    route add -net | -host DEST gw NEXTHOP
    route add default gw NEXTHOP

eg1. route add -net | -host DEST gw NEXTHOP

eg2. route add -net 10.0.0.0/8 gw 192.168.10.1


  del:删除
    -host : 主机路由

    -net :网络路由

  
    route del -net 10.0.0.0/8
    route del -net 0.0.0.0
    route del default
    所做出的改动重启网络服务或主机后失效;

    route -n: 以数字方式显示各主机或端口等相关信息
 
3. 修改配制文件后重启服务生成地址:(配制文件后不生效,服务重启后生效)
  3.1.文件地址:/etc/sysconfig/network

     网络接口配置文件:不会立即生效,但重启网络服务或主机都会生效


  3.2. /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME

DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致;
BOOTPROTO={static|none|dhcp|bootp}: 引导协议;
      要使用静态地址,使用static或none;dhcp表示使用DHCP服务器获取地址;

IPADDR=: IP地址
NETMASK=:子网掩码
GATEWAY=:设定默认网关;
ONBOOT=:开机时是否自动激活此网络接口
HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省;
USERCTL={yes|no}: 是否允许普通用户控制接口
PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址


[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:50:56:ba:6a:fa
ONBOOT=yes
NETMASK=255.255.252.0
IPADDR=110.109.131.15
GATEWAY=110.109.128.1
TYPE=Ethernet

[root@JackTest ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=dhcp
HWADDR=00:50:56:ba:6f:9e


4. 配制路由文件后重启服务
  /etc/sysconfig/network-scripts/route-ethX
     添加格式一: DEST    via     NEXTHOP

     添加格式二:
  ADDRESS0=
  NETMASK0=
  GATEWAY0=


eg1.192.168.10.0 via 192.168.10.1

eg2.ADDRESS0=192.168.10.0

    NETMASK0=255.255.255.0
    GATEWAY0=192.168.10.1


  DNS服务器指定方法只有一种:/etc/resolv.conf
    nameserver DNS_IP_1
    nameserver DNS_IP_2

  指定本地解析:/etc/hosts        DNS-->/etc/hosts-->DNS缓存/主机

    主机IP    主机名    主机别名
    172.16.0.1        www.magedu.com        www


5. 配置主机名:
  hostname HOSTNAME    立即生效,但不是永久有效;

  vi /etc/sysconfig/network    永久有效

eg1.[root@localhost ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain


RHEL5:
    setup: system-config-network-tui
    system-config-network-gui

6. 地址管理     (ifconfig, 老旧)

    ip
       link: 网络接口属性
       addr: 协议地址
       route: 路由

    link
        show         ip -s link show
        set          ip link set DEV {up|down}
            
    addr
        add            ip addr add ADDRESS dev DEV
        del            ip addr del ADDRESS dev DEV
        show            ip addr show dev DEV to PREFIX
        flush            ip addr flush dev DEV to PREFIX


  一块网卡可以使用多个地址,网络设备可以别名:eth0   ethX:X, eth0:0, eth0:1, ...
  配置方法: 非主要地址不能使用DHCP动态获取(global secondary ip)

    ifconfig ethX:X IP/NETMASK   
    /etc/sysconfig/network-scripts/ifcfg-ethX:X
    DEVICE=ethX:X


7. 使用实例

 eg1.ip addr add 10.3.3.3 dev eth1

 eg2.ip addr add 10.2.2.2 dev eth1 label eth1:1

 eg3.ip addr del 10.2.2.2 dev eth1

 eg4.ip addr show eth1 to 172/8


 eg5.删除所有10.*地址:ip addr flush eth1 to 10/8

[root@localhost ~]# ip addr show
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:50:56:9c:05:59 brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.80/24 brd 172.16.1.255 scope global eth1
    inet 10.2.2.2/32 scope global eth1
    inet 10.3.3.3/32 scope global eth1:1
    inet 192.168.11.2/24 scope global eth1:2
    inet 172.16.1.81/24 brd 172.16.1.255 scope global secondary eth1:0
    inet6 fe80::250:56ff:fe9c:559/64 scope link
       valid_lft forever preferred_lft forever
[root@localhost ~]# ip addr flush eth1 to 10/8
[root@localhost ~]# ip addr show
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:50:56:9c:05:59 brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.80/24 brd 172.16.1.255 scope global eth1
    inet 192.168.11.2/24 scope global eth1:2
    inet 172.16.1.81/24 brd 172.16.1.255 scope global secondary eth1:0
    inet6 fe80::250:56ff:fe9c:559/64 scope link
       valid_lft forever preferred_lft forever


 eg6.删除所有10.*路由:ip route flush to 10/8

[root@localhost ~]# ip route add to 10.0.0.0/8 dev eth0 via 110.109.128.1
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        110.109.128.1    255.0.0.0       UG    0      0        0 eth0
0.0.0.0         110.109.128.1    0.0.0.0         UG    0      0        0 eth0
[root@localhost ~]# ip route flush to 10/8
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         110.109.128.1    0.0.0.0         UG    0      0        0 eth0



附一.linux网络配置经常使用的命令

1)#ifconfig    //查看配置的网卡 /sbin/ifconfig
2) # vi /etc/resolv.conf  //修改DNS  resolv.conf的关键字主要有四个,分别是:
  nameserver #定义DNS服务器的IP地址
  domain #定义本地域名
  search #定义域名的搜索列表
  sortlist #对返回的域名进行排序
  最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
3)#vi /etc/sysconfig/network  //修改网关
  NETWORKING=yes   (表示系统是否使用网络,一般设置为yes。

           若为no则不能使用网络,且很多系统服务程序将无法启动)
  HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)
  GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如,网关为10.0.0.2)
4)#vi /etc/sysconfig/network-scripts/ifcfg-eth0 //修改网卡配置
  DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
  BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,

       分别对应静态指定的ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
  BROADCAST=192.168.0.255 #对应的子网广播地址
  HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
  IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
  IPV6INIT=no
  IPV6_AUTOCONF=no
  NETMASK=255.255.255.0 #网卡对应的网络掩码
  NETWORK=192.168.1.0 #网卡对应的网络地址
  ONBOOT=yes #系统启动时是否设置此网络接口,为yes时系统启动时激活此设备。

        如果你只有一个网卡而且设置为no就不能上网了。


二.linux虚拟机网络配置(应用)

1)采用Nat方式进行(简单实用)
  1.找到虚拟机设备》》网络适配器。  双击打开网络适配器》》自定义指定虚拟网络选择VMnet8(Nat)。
  2.启动linux虚拟机,进入linux命令行。如果你进入Xwindow界面请切换到命令行界面 ctrl+Alt+Shift+F1
  3.#ifconfig 查看你用那块网卡,vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改网卡配置。设置BOOTPROTO=dhcp。

         删除IPADDR,我们这里采用自动获取IP和DNS。(如有不清楚可参考如上(一.4))
  4.#service network restart //重新启动network。这样linux虚拟机就可以上网了。我们来测试一下
  #ping www.baidu.com //命令行输入,能ping通就行了。
2)采用桥接(略)
3)采用host-only(略)


三.独立linux主机上网配置(一般都是通过路由器上网)

1)自动获取ip和DNS:
   #vi /etc/sysconfig/network //修改网关,删除GATEWAY,因为我们是采用自动获取
   #vi /etc/sysconfig/network-scripts/ifcfg-eth0 //修改网卡配置
   修改BOOTPROTO=dhcp,删除IPADDR。(如有不清楚可参考如上(一.4))
   #service network restart //重新启动network。通过ping测试。

2)采用分配ip上网配置
   #vi /etc/resolv.com //修改DNS  主要设置关键字nameserver=8.8.8.8 这个比较容易忽略掉。
   #vi /etc/sysconfig/network //修改网关,添加GATEWAY=192.168.1.0 具体看你属于哪个网段。
   #vi /etc/sysconfig/network-scripts/ifcfg-eth0 //修改网卡配置
   修改BOOTPROTO=static,添加(或设置)IPADDR=192.168.1.4。(分配ip地址)
   #service network restart //重新启动network。通过ping测试。


---end---

Linux命令:网络配置常用命令