linux网络配置命令
网络地址分类:
主机位全0:网络地址
主机位全1:广播地址
A类: 以0开头,8位网络位
0.0.0.0~127.255.255.255
127的用于回环地址
容纳多少个主机:2^24-2
B类:以10开头,16位网络位,
128.0.0.0~191.255.255.255
容纳多少个主机:2^16-2
C类:以110开头, 24位网络位
192.0.0.0~223.255.255.255
容纳多个少个主机:2^8-2
D类:以1110开头,用来做组播地址
224.0.0.0~239.255.255.255
E类:以1111开头,保留地址
240.0.0.0~255.255.255.255
私有地址:
A类:10.0.0.0/8
B类:172.16.0.0/16-172.31.0.0/16
C类:192.168.0.0/24-192.168.255.0/24
此外,还有一些IPV4中特殊用途地址:
0.0.0.0/8 :本地网络中的主机,仅作为源IP地址使用
127.0.0.0/8 :回送地址,通常只用127.0.0.1
169.254.0.0/16 :“链路本地”地址,只用于一条链路,通常自动分配
192.0.0.0/24 :IETF协议分配(IANA保留)
192.0.2.0/24 :批准用于文档中的TEST-NET-1地址,不会出现在公共Internet中
192.88.99.0/24 :用于6to4中继(任播地址)
198.18.0.0/15 :用于基准和性能测试
198.51.100.0/24 :TESE-NET-2地址,用于文档中
203.0.113.0/24 :TESE-NET-3地址,用于文档
255.255.255.255/32 :本地网络(受限的)广播地址
如果要想将一台主机接入网络,需要配置的信息:
IP地址,子网掩码,网关,主机名,DNS服务器地址(一般配置2个,备用)
在Linux中,网络属于内核的功能,如果有多块网卡,不管从哪个网卡进入,只要几个网卡中有这个地址,就可以接收到。
在linux中网络接口的识别:
lo:本地回环接口
eth#:#表示数字,以太网网卡接口
ppp#:点对点连接
ifconfig以及ip命令
ifconfig用法:
ifconfig [eth#] : 显示接口的配置信息
ifconfig eth#:xxxx IP/NETMASK:为网卡设备设置别名
ifconfig eth# 【IP(ip地址)/MASK(子网掩码)】 【up|down】 :开启或关闭网络接口
配置的地址,立即生效,但重启网络服务或主机,都会失效
网络服务文件:可以通过带后面的参数进行操作
RHEL5: /etc/init.d/network {start|stop|restart|status}
RHEL6: /etc/init.d/NetworkManager {start|stop|restart|status}
配置网关:
route命令:常用的选项add,del
add: 添加
-host: 主机路由
-net:网络路由
route add -net或者-host DEST gw(关键字) NEXTHOP(下一跳地址)
route add default gw(关键字) NEXTHOP(下一跳地址)
del:删除
-host
-net
route del default(0.0.0.0)
查看:
route -n: 以数字方式显示各主机或端口等相关信息
没有写在配置文件中,所做出的改动重启网络服务或主机后失效,所以可以通过下面的配置文件进行永久生效,但它们不会立即生效,需要重启网络服务或主机都会生效;因为配置文件只会在主机开启的那一刻才读取
网络配置文件:
/etc/sysconfig/network
网络接口配置文件:
/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地址;
路由的配置文件:
/etc/sysconfig/network-scripts/route-ethX,没有的话可以创建一个,ethX要和网卡的名称一样
添加格式一:
DEST(主机或网络(要带掩码)) via(关键字) NEXTHOP(下一跳)
添加格式二:#代表组号,1,2,3。。。。
ADDRESS#(目标地址)=
NETMASK#(子网掩码)=
GATEWAY#(下一跳)=
配置主机名:
hostname HOSTNAME
立即生效,但不是永久有效;
配置配置文件/etc/sysconfig/network
格式:
HOSTNAME=
DNS服务器指定方法只有一种:通过配置文件/etc/resolv.conf
格式:一般配置两个以上
nameserver DNS_IP_1
nameserver DNS_IP_2
当没有DNS服务器的时候又需要主机名访问的话,可以自己指定本地解析:
配置文件/etc/hosts:
格式:
主机IP 主机名 主机别名
当输入一个主机名的时候,会先在/etc/hosts下查找,如果没有找到就会去DNS服务器找
iproute2软件包中的ip命令:可以配置ip地址,路由,路由管理,策略路由等
格式:
ip:
link: 配置网络接口属性
show:查看网络接口的地址
-s:显示统计信息
ip -s link show
set:设置网络接口的地址属性
ip link set DEV(网卡) {up|down}
addr: 配置协议地址
add:添加
ip addr add ADDRESS(地址) dev DEV(设备)
如果DEV中已经有了IP地址,那么配置的地址就会成为非主要地址,一样可以ping通
可以使用label选项来使用别名:
ip addr add IP/NETMASK dev(关键字) eth1 label(关键字) eth#:xxx
用ifconfig也可以创建别名:
ifconfig eth#:xxxx IP/NETMASK
配置文件:/etc/sysconfig/network-scripts/ifcfg-eth#:xxxx
DEVICE=eth#:xxxx,关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致;
del:删除
ip addr del ADDRESS dev(关键字) DEV(设备)
show:查看
可以使用to来显示符合条件的
ip addr show dev(关键字) DEV(设备) to PREFIX(匹配字符)
flush:清除
可以使用to来清除符合条件的
ip addr flush dev(关键字) DEV(设备) to PREFIX(匹配字符)
route: 配置路由
route add -net IP/NETMASK gw IP
ip route add to IP/NETMASK dev(设备) 设备名 via(下一跳) ip地址