Centos的网络配置命令和文件
一、ifcongfig
Centos6之前最常用的配置网络命令就是ifconfig,使用ifconfig命令时最好切换到root用户的身份
1、直接使用ifconfig可以查看当前配置的网络设备的信息
例如
[root@localhost ~]# ifconfig eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.9.9 netmask 255.255.0.0 broadcast 172.16.255.255 inet6 fe80::20c:29ff:fe83:15cb prefixlen 64 scopeid 0x20<link> ether 00:0c:29:83:15:cb txqueuelen 1000 (Ethernet) RX packets 120796 bytes 20258545 (19.3 MiB) RX errors 0 dropped 1418 overruns 0 frame 0 TX packets 28466 bytes 47363344 (45.1 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 20 bytes 1780 (1.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 20 bytes 1780 (1.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
这里可以看到我目前有一个网络设备eno16777728和一个网络回环接口lo,常见的网络接口有以下几个
eth0: ethernet的简写,一般用于以太网接口。在centos7上是eno16777728 wifi0:wifi是无线局域网,因此wifi0一般指无线网络接口。 ath0: Atheros的简写,一般指Atheros芯片所包含的无线网络接口。
2、用ifconfig启动或关闭指定网卡
ifconfig up 启动指定的网络设备 ifconfig down 关闭指定的网络设备
网卡名称一定要写在down或up之前
[root@localhost ~]# ifconfig eno16777728 down [root@localhost ~]# ifconfig eno16777728 up
3、用ifconfig配置网络地址和网关
比如这里我配置eth0网卡的ip地址为:172.16.7.254子网掩码为255.255.0.0
注意用ifconfig改网络配置会立即生效
[root@localhost ~]# ifconfig eth0 172.16.7.254 netmask 255.255.0.0 [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:5E:4B:1F inet addr:172.16.7.254 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::20c:29ff:fe5e:4b1f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1372221 errors:2 dropped:0 overruns:0 frame:0 TX packets:3465 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:119202924 (113.6 MiB) TX bytes:334330 (326.4 KiB) Interrupt:19 Base address:0x2000
还可以给一个网卡配上多个地址,例如
[root@localhost ~]# ifconfig eth0:0 172.16.7.225 netmask 255.255.0.0 [root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:5E:4B:1F inet addr:172.16.7.254 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::20c:29ff:fe5e:4b1f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1375940 errors:2 dropped:0 overruns:0 frame:0 TX packets:3579 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:119494875 (113.9 MiB) TX bytes:348430 (340.2 KiB) Interrupt:19 Base address:0x2000 eth0:0 Link encap:Ethernet HWaddr 00:0C:29:5E:4B:1F inet addr:172.16.7.225 Bcast:172.16.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:19 Base address:0x2000
如果还想增加更多则可以eth0:1 eth0:2依次继续增加
其他的一些参数:
-arp 打开或关闭指定接口上使用的ARP协议。前面加上一个负号用于关闭该选项。 -allmuti 关闭或启动指定接口的无区别模式。前面加上一个负号用于关闭该选项。 -promisc 关闭或启动指定网络设备的promiscuous模式。前面加上一个负号用于关闭该选项。 add<地址> 设置网络设备IPv6的IP地址。 del<地址> 删除网络设备IPv6的IP地址。 media<网络媒介类型> 设置网络设备的媒介类型。 mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。 metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。 mtu<字节> 设置网络设备的MTU。 netmask<子网掩码> 设置网络设备的子网掩码。 tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。 -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。 -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
二、route
route命令用于管理本机路由表,路由表就是指,本机访问指定的主机或网络需要通过的网络接口,简单点理解,你的网关就是通往所有其他网络所必须要经过的网络接口。
[root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.0.0 * 255.255.0.0 U 0 0 0 eth0 Destination代表目标网络 Gateway代表网关地址,*代表目标是本机网络不需要网关 Genmask代表你要访问的网络的子网掩码 Flags为路由标志,标记当前网络节点的状态。 Flags标志说明: U Up表示此路由当前为启动状态 H Host,表示此网关为一主机 G Gateway,表示此网关为一路由器 R Reinstate Route,使用动态路由重新初始化的路由 D Dynamically,此路由是动态性地写入 M Modified,此路由是由路由守护程序或导向器动态修改 ! 表示此路由当前为关闭状态 Metric代表路由距离,到达指定网络所需的中转数 Ref代表路由项引用次数 Use代表此路由项被路由软件查找的次数 Iface 该路由表项对应的输出接口
route常用命令:
add : 添加一条路由规则 del : 删除一条路由规则 -net : 目的地址是一个网络 -host : 目的地址是一个主机 target : 目的网络或主机 netmask : 目的地址的网络掩码 gw : 路由数据包通过的网关 dev : 为路由指定的网络接口
1、添加一个主机路由到eth0
[root@localhost ~]# route add -host 172.16.1.2 dev eth0 [root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.1.2 * 255.255.255.255 UH 0 0 0 eth0 172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
2、删除路由
[root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.1.2 * 255.255.255.255 UH 0 0 0 eth0 192.168.122.0 * 255.255.255.0 U 0 0 0 virbr0 172.16.0.0 * 255.255.0.0 U 0 0 0 eth0 [root@localhost ~]# route del -net 192.168.122.0 netmask 255.255.255.0 virbr0 [root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.1.2 * 255.255.255.255 UH 0 0 0 eth0 172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
3、添加默认网关
[root@localhost ~]# route add default gw 172.16.0.1 [root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.1.2 * 255.255.255.255 UH 0 0 0 eth0 172.16.0.0 * 255.255.0.0 U 0 0 0 eth0 default 172.16.0.1 0.0.0.0 UG 0 0 0 eth0
4、删除默认网关
[root@localhost ~]# route del default eth0 [root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.1.2 * 255.255.255.255 UH 0 0 0 eth0 172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
5、添加网络到路由
[root@localhost ~]# route add -net 172.16.9.9 netmask 255.255.255.255 gw 172.16.0.1 eth0 [root@localhost ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.9.9 172.16.0.1 255.255.255.255 UGH 0 0 0 eth0 172.16.1.2 * 255.255.255.255 UH 0 0 0 eth0 172.16.0.0 * 255.255.0.0 U 0 0 0 eth0
三、DNS服务器指定
编辑/etc/resolv.conf
这里我配置三个DNS为例
[root@localhost ~]# vim /etc/resolv.conf #打开后的内容 # Generated by NetworkManager # No nameservers found; try putting DNS servers into your # ifcfg files in /etc/sysconfig/network-scripts like so: # # DNS1=xxx.xxx.xxx.xxx # DNS2=xxx.xxx.xxx.xxx # DOMAIN=lab.foo.com bar.foo.com #下面是三个DNS DNS1=172.16.0.1 DNS2=8.8.8.8 DNS3=114.114.114.114
四、ip
ip命令的功能和ifconfig类似,但是功能更加强大,所以centos7之后的系统有得包组是不带ifconfig而只带ip命令了
1、查看当前配置的所有网络设备的信息
[root@localhost ~]# ip addr 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 valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:83:15:cb brd ff:ff:ff:ff:ff:ff inet 172.16.9.9/16 brd 172.16.255.255 scope global eno16777728 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe83:15cb/64 scope link valid_lft forever preferred_lft forever
后面接上指定的网卡也可以查看指定网卡的信息,也可使用ip address show
2、添加删除地址
添加
[root@localhost ~]# ip addr add 172.16.9.10 dev eno16777728:1 [root@localhost ~]# ip addr 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 valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link 3344 /ether 00:0c:29:83:15:cb brd ff:ff:ff:ff:ff:ff inet 172.16.9.9/16 brd 172.16.255.255 scope global eno16777728 valid_lft forever preferred_lft forever inet 172.16.9.10/32 scope global eno16777728 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe83:15cb/64 scope link valid_lft forever preferred_lft forever
删除
[root@localhost ~]# ip addr del 172.16.9.10 dev eno16777728:1 [root@localhost ~]# ip addr 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 valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:83:15:cb brd ff:ff:ff:ff:ff:ff inet 172.16.9.9/16 brd 172.16.255.255 scope global eno16777728 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe83:15cb/64 scope link valid_lft forever preferred_lft forever
3、查看现有的路由表
[root@localhost ~]# ip route show default via 172.16.0.1 dev eno16777728 proto static metric 100 172.16.0.0/16 dev eno16777728 proto kernel scope link src 172.16.9.9 metric 100
4、添加删除路由和网关
添加路由
[root@localhost ~]# ip route add 172.16.200.51 via 172.16.0.1 dev eno16777728 src 172.16.9.9 [root@localhost ~]# ip route show default via 172.16.0.1 dev eno16777728 proto static metric 100 172.16.0.0/16 dev eno16777728 proto kernel scope link src 172.16.9.9 metric 100 172.16.200.51 via 172.16.0.1 dev eno16777728 src 172.16.9.9 #172.16.200.51为目标ip #172.16.0.1为路由 #172.16.9.9为源ip
删除路由
[root@localhost ~]# ip route del 172.16.200.51 [root@localhost ~]# ip route default via 172.16.0.1 dev eno16777728 proto static metric 100 172.16.0.0/16 dev eno16777728 proto kernel scope link src 172.16.9.9 metric 100
添加默认网关
[root@localhost ~]# ip route add default via 172.16.0.1 dev eno16777728 [root@localhost ~]# ip route show default via 172.16.0.1 dev eno16777728 default via 172.16.0.1 dev eno16777728 proto static metric 100 172.16.0.0/16 dev eno16777728 proto kernel scope link src 172.16.9.9 metric 100
删除刚才添加的网关
[root@localhost ~]# ip route del default via 172.16.0.1 dev eno16777728 [root@localhost ~]# ip route default via 172.16.0.1 dev eno16777728 proto static metric 100 172.16.0.0/16 dev eno16777728 proto kernel scope link src 172.16.9.9 metric 100
5、关闭网卡修改网卡名称
[root@localhost ~]# ip link set eno16777728 down [root@localhost ~]# ip link set eno16777728 name eth0 [root@localhost ~]# ip link set show [root@localhost ~]# ip link set eth0 up #这样就把eno16777728改为了eth0,但是因为/etc/sysconfig/network-scripts/ifcfg-eno16777728还是原来的 #名字所以,配置不会跟着到eth0上,所以要完整的改名需要改变此配置文件中NAME=eth0,并将此文件名改为 #ifcfg-eth0
五、netstat
netstat命令主要用来查看整个系统的网络情况
1、选项
-a或--all:显示所有连线中的端口; -A<网络类型>或--<网络类型>:列出该网络类型连线中的相关地址; -c或--continuous:持续列出网络状态; -C或--cache:显示路由器配置的快取信息; -e或--extend:显示网络其他相关信息; -F或--fib:显示FIB; -g或--groups:显示多重广播功能群组组员名单; -h或--help:在线帮助; -i或--interfaces:显示网络界面信息表单; -l或--listening:显示监控中的服务器的Socket; -M或--masquerade:显示伪装的网络连线; -n或--numeric:直接使用ip地址,而不通过域名服务器; -N或--netlink或--symbolic:显示网络硬件外围设备的符号连接名称; -o或--timers:显示计时器; -p或--programs:显示正在使用Socket的程序识别码和程序名称; -r或--route:显示Routing Table; -s或--statistice:显示网络工作信息统计表; -t或--tcp:显示TCP传输协议的连线状况; -u或--udp:显示UDP传输协议的连线状况; -v或--verbose:显示指令执行过程; -V或--version:显示版本信息; -w或--raw:显示RAW传输协议的连线状况; -x或--unix:此参数的效果和指定"-A unix"参数相同; --ip或--inet:此参数的效果和指定"-A inet"参数相同。
2、常用的组合
-tan, -uan, -tnl, -unl
显示连接的tcp端口
[root@localhost network-scripts]# 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 &nbs 3344 p; 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 52 172.16.9.9:22 172.16.7.211:54886 ESTABLISHED tcp6 0 0 :::80 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 ::1:25 :::* LISTEN
显示连接中的udp端口
[root@localhost network-scripts]# netstat -uan
显示所有处于监听(LISTEN)状态的tcp端口
[root@localhost network-scripts]# 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
显示所有处于监听状态的udp端口
[root@localhost network-scripts]# netstat -unl
六、ss
ss和netstat类似,但是显示的信息更详细,速度更快,在连接数上万的情况下用ss比netstat更快更高效,所以推荐使用ss
1、选项
-t: tcp协议相关 -u: udp协议相关 -w: 裸套接字相关 -x:unix sock相关 -l: listen状态的连接 -a: 所有 -n: 数字格式 -p: 相关的程序及PID -e: 扩展的信息 -m:内存用量 -o:计时器信息
2、常用组合
-tan:显示所有连接的tcp端口 -tanl:显示处于监听状态的tcp端口 -tanlp:显示监听状态的tcp端口并显示对应程序的PID -uan:显示所有连接的udp端口 -uanl:显示处于监听状态的udp端口 -uanlp:显示监听状态的udp端口并显示对应程序的PID
例如:
[root@localhost network-scripts]# ss -tan State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* ESTAB 0 52 172.16.9.9:22 172.16.7.211:54886 LISTEN 0 128 :::80 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::* [root@localhost network-scripts]# ss -tanl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::80 :::* LISTEN 5b4 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::* [root@localhost network-scripts]# ss -tanlp State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 5b4 0 128 *:22 *:* users:(("sshd",pid=1250,fd=3)) LISTEN 0 100 127.0.0.1:25 *:* users:(("master",pid=2365,fd=13)) LISTEN 0 128 :::80 &nbs 3344 p; :::* users:(("httpd",pid=2824,fd=4),("httpd",pid=2823,fd=4),("httpd",pid=2822,fd=4),("httpd",pid=2821,fd=4)) LISTEN 0 128 :::22 :::* users:(("sshd",pid=1250,fd=4)) LISTEN 0 100 ::1:25
七、网络配置文件
1、网络配置文件
前面所有的修改网络参数的命令在重启系统之后就会失效,只有更改网络配置文件/etc/sysconfig/network-scripts/ifcfg-eno16777728【注意这是Centos7的,Centos6为ifcfg-eth0】在重启之后才会有效
[root@localhost network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728 TYPE="Ethernet"#接口类型 BOOTPROTO="static"#激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp DEFROUTE="yes" PEERDNS="yes"#如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中 PEERROUTES="yes" IPV4_FAILURE_FATAL="no" NAME="eno16777728"#设备名称 UUID="758d5aa7-239e-4488-94b3-6c3f33688dd5"#设备的唯一标识 DEVICE="eno16777728"#此配置文件应用到的设备 ONBOOT="yes"#在系统引导时是否激活此设备 IPADDR="172.16.9.9"#IP地址 NETMASK="255.255.0.0"#子网掩码 GATEWAY="172.16.0.1"#默认网关 DNS1="61.128.128.68"#DNS服务器1 DNS2="61.128.192.68"#DNS服务器2
注意:记得重启网络服务方能生效;
重启网络服务: service network restart /etc/rc.d/init.d/network restart
2、路由表
配置文件/etc/sysconfig/network-scripts/route-eno16777728【注意这是Centos7的,Centos6为ifcfg-eth0】
路由表有两种风格,
第一种
目标网络 via 路由 172.16.55.34 via 172.16.0.1
第二种
#每三行定义一条路由 #目标地址 #子网掩码 #路由 ADDRESS0=172.16.55.34 NETMASK0=255.255.0.0 GATEWAY0=172.16.0.1
注意:记得重启网络服务方能生效;
重启网络服务:
service network restart /etc/rc.d/init.d/network restart
- Centos的网络配置命令和文件
- CentOS网络配置命令
- 转载:Linux网络基础总结(常用配置文件&常用命令)
- fedora下一些与网络配置相关的文件和命令
- CentOS下的网络设置--基本配置文件篇
- Linux下常用网络配置文件及常用命令的介绍
- CentOS 6.2 ifcfg-eth0 网络接口配置文件说明
- CentOS网络基本配置命令
- centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课
- Red Hat & CentOS Linux 网络相关配置文件说明
- CentOS重新启动网络配置,文件/etc/resolv.conf会被错误覆盖或清空解决
- Linux下常用网络配置文件及常用命令介绍
- hadoop的一些安装经验+关于命令窗口配置Linux(centos 7)的Ip地址和自启动网络
- VMware Workstation最小化安装centos6.5命令模式网络配置
- centos6.0的基本网络配置文件
- 【APP】Linux网络基础总结(常用配置文件&常用命令)
- 网络配置文件、命令详解
- CentOS下的网络设置--基本配置文件篇
- CentOS中网络配置相关文件配置选项说明
- 加载配置文件时出错: 由于已经达到网络 BIOS 命令限制