linux命令配置上网,Linux下的网络配置方法(一)

Linux的网络配置方法有多种,而且随发行版及版本而略微不同。我目前的测试环境为CentOS6和CentOS7。

常用的网络配置命令或方法有:ifconfig,route,netstat,ip,ss,nmcli,配置文件。

一、简介

ifconfig:是个比较传统的命令,可以配置网络接口的启用及关闭,IP地址等等,但此命令已不被推荐使用;

route:主要用于配置路由,已不被推荐使用;

netstat:主要用于查看网络状态,也已不被推荐使用;

ip:是个功能更全面的命令,可以管理网络接口以及路由,可以取代ifconfig和route命令;

ss:同netstat一样主要用于查看网络状态,但能提供更多的信息;

修改配置文件:从根本上配置网络的方法;

nmcli:NetworkManager command line,功能不断得到完善的命令,主要用于管理网络接口,WIFI,蓝牙等等。

二、详细用法

1. ifconfig

直接输入ifconfig或者ifconfig -a会查看所有网络接口的信息:

开启或关闭某个网络接口:

[root@localhost ~]# ifconfig eno16777736 down

[root@localhost ~]# ifconfig eno16777736 up

设置IP地址:ifconfig INTERFACE IP/MASK

[root@localhost ~]# ifconfig eno16777736 192.168.1.108/24

注意:这个操作会覆盖旧的IP;

启用或关闭混杂模式,用于网络监控:

ifconfig INTERFACE -promisc

ifconfig INTERFACE promisc

注意:使用ifconfig修改的内容会立即生效,但不会永久生效,若想永久生效,须修改配置文件。

2. route 路由管理命令

直接在shell中输入route命令,会显示所有路由信息:

[root@localhost ~]# route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

default         192.168.1.33    0.0.0.0         UG    100    0        0 eno16777736

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eno16777736

使用route添加主机路由:

[root@localhost ~]# route add -host 192.168.1.3 gw 192.168.1.33 dev eno16777736

# -host:添加主机路由;gw:gatway;eno16777736:网络接口名;

[root@localhost ~]# route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

default         192.168.1.33    0.0.0.0         UG    100    0        0 eno16777736

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eno16777736

192.168.1.3     192.168.1.33    255.255.255.255 UGH   0      0        0 eno16777736

# 最后一条为新加的路由;

使用route添加网络路由:

[root@localhost ~]# route add -net 198.162.2.0/24 gw 192.168.1.33 dev eno16777736

# -net:网络路由;198.162.2.0/24:IP/MASK;注意添加网络路由需要附带子网掩码MASK;

[root@localhost ~]# route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

default         192.168.1.33    0.0.0.0         UG    100    0        0 eno16777736

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eno16777736

192.168.1.3     192.168.1.33    255.255.255.255 UGH   0      0        0 eno16777736

198.162.2.0     192.168.1.33    255.255.255.0   UG    0      0        0 eno16777736

# 最后一条为新加;

添加默认路由:

[root@localhost ~]# route add default gw 192.168.1.1 dev eno16777736

# 注意使用default选项;最后应加上dev名;

[root@localhost ~]# route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

default         192.168.1.1     0.0.0.0         UG    0      0        0 eno16777736

# 上一条为新加;

default         192.168.1.33    0.0.0.0         UG    100    0        0 eno16777736

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eno16777736

192.168.1.3     192.168.1.33    255.255.255.255 UGH   0      0        0 eno16777736

198.162.2.0     192.168.1.33    255.255.255.0   UG    0      0        0 eno16777736

删除一条路由:

[root@localhost ~]# route del -host 192.168.1.3

[root@localhost ~]# route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

default         192.168.1.33    0.0.0.0         UG    100    0        0 eno16777736

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eno16777736

198.162.2.0     192.168.1.33    255.255.255.0   UG    0      0        0 eno16777736

注意: route命令修改的内容也是临时有效,重启失效。

3. netstat命令

netstat命令用于查看网络状态,常用选项有:

-t: 查看tcp连接

-u:查看udp连接

-n:以数字方式查看端口和IP

-a:显示所有状态

-l:查看处于监听状态的连接

常用选项组合:

[root@localhost ~]# netstat -tan

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN

tcp        0      0 192.168.1.105:22        192.168.1.104:49415     ESTABLISHED

tcp        0     52 192.168.1.105:22        192.168.1.104:54643     ESTABLISHED

tcp        0      0 192.168.1.105:22        192.168.1.104:54637     ESTABLISHED

tcp        0      0 192.168.1.105:22        192.168.1.104:54499     ESTABLISHED

tcp6       0      0 :::80                   :::*                    LISTEN

tcp6       0      0 :::22                   :::*                    LISTEN

tcp6       0      0 ::1:25                  :::*                    LISTEN

[root@localhost ~]# netstat -tnl

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN

tcp6       0      0 :::80                   :::*                    LISTEN

tcp6       0      0 :::22                   :::*                    LISTEN

tcp6       0      0 ::1:25                  :::*                    LISTEN

[root@localhost ~]# netstat -uan

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

udp        0      0 0.0.0.0:68              0.0.0.0:*

udp        0      0 0.0.0.0:123             0.0.0.0:*

udp        0      0 127.0.0.1:323           0.0.0.0:*

udp        0      0 0.0.0.0:35178           0.0.0.0:*

udp6       0      0 :::123                  :::*

udp6       0      0 :::21826                :::*

udp6       0      0 ::1:323                 :::*

[root@localhost ~]# netstat -unl

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State

udp        0      0 0.0.0.0:68              0.0.0.0:*

udp        0      0 0.0.0.0:123             0.0.0.0:*

udp        0      0 127.0.0.1:323           0.0.0.0:*

udp        0      0 0.0.0.0:35178           0.0.0.0:*

udp6       0      0 :::123                  :::*

udp6       0      0 :::21826                :::*

udp6       0      0 ::1:323                 :::*

4. ip命令的使用方法:

ip [ OPTIONS ] OBJECT { COMMAND | help }

常用的OBJECT有:link,addr,route;

每个OBJECT对应不同的COMMAND;

可以对每个OBJECT查看其man手册,也可以查看其帮助:

eg:man ip link;

ip link help;

ip link常用于开启或关闭某个网络接口,及显示其信息:

[root@localhost ~]# ip link set dev eno16777736 up

[root@localhost ~]# ip link show dev eno16777736

2: eno16777736:  mtu 1500 qdisc pfifo_fast state UP mode DEFAULT

qlen 1000    link/ether 00:0c:29:df:39:4e brd ff:ff:ff:ff:ff:ff

ip addr常用于查看IP地址,增加IP地址,删除IP地址

[root@localhost ~]# ip addr add 192.168.1.108/24 dev eno16777736

# 为eno16777736增加一个IP;

# 注意使用了ip addr下的次级命令add,add后面是IP/MASK,最后是dev+网络接口号;

[root@localhost ~]# ip addr show dev eno16777736

# ip addr show dev INTERFACE命令用于查看特定INTERFACE的信息;

2: eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:df:39:4e brd ff:ff:ff:ff:ff:ff

inet 192.168.1.105/24 brd 192.168.1.255 scope global dynamic eno16777736

valid_lft 4694sec preferred_lft 4694sec

inet 192.168.1.108/24 scope global secondary eno16777736

# 注意此条IP是新加的;

valid_lft forever preferred_lft forever

inet6 fe80::20c:29ff:fedf:394e/64 scope link

valid_lft forever preferred_lft forever

[root@localhost ~]# ip addr del 192.168.1.108/24

# 删除IP,后面不带INTERFACE参数是不能删除IP的,因为没有操作对象;

Not enough information: "dev" argument is required.

[root@localhost ~]# ip addr del 192.168.1.108/24 dev eno16777736

# 此为删除IP的正确操作;

[root@localhost ~]# ip addr show

# 这条命令最后不带INTERFACE参数,默认显示所有INTERFACE的信息;

1: lo:  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

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:df:39:4e brd ff:ff:ff:ff:ff:ff

inet 192.168.1.105/24 brd 192.168.1.255 scope global dynamic eno16777736

valid_lft 4599sec preferred_lft 4599sec

inet6 fe80::20c:29ff:fedf:394e/64 scope link

valid_lft forever preferred_lft forever

ip route 是路由管理命令:

[root@localhost ~]# ip route add 192.168.1.109 via 192.168.1.33

# 使用格式1:ip route add 主机路由IP via 网关

[root@localhost ~]# ip route show

# 查看路由;

default via 192.168.1.33 dev eno16777736  proto static  metric 100

192.168.1.0/24 dev eno16777736  proto kernel  scope link  src 192.168.1.105  metric 100

192.168.1.109 via 192.168.1.33 dev eno16777736

[root@localhost ~]# ip addr add 192.168.1.108/24 dev eno16777736.

# 添加一个IP用于测试;添加完成后本机有2个IP地址;

[root@localhost ~]# ip route add 192.168.1.111 via 192.168.1.33 src 192.168.1.108

# 指定新加的主机路由的源IP是本机新加的IP;

# 此为ip route add的第二种格式,最后加上了src参数;

[root@localhost ~]# ip route replace 192.168.1.109 via 192.168.1.33 src 192.168.1.105

# 修改一个路由信息;

[root@localhost ~]# ip route add 192.168.2.0/24 via 192.168.1.33

# 添加网络路由;

[root@localhost ~]# ip route delete 192.168.1.111

# 删除一条主机路由;

[root@localhost ~]# ip route delete 192.168.2.0/24

# 删除一条网络路由;

IP命令的修改同样也非永久有效。

5. ss

ss与netstat用法差不多,请自行测试吧。

(后面超过字数限制,转接Linux下的网络配置方法(二)。)

原创文章,作者:Jacen,如若转载,请注明出处:http://www.178linux.com/9928

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值