网络配置
对linux而言,网络功能是内核的组成。内核中有一个TCP/IP的协议栈。手动配置的是保存在内存中的。下次开机的话,就会重新读配置文件。所以想要永久生效就需要写在配置文件中。
linux可以配置IP,Netmask,Gateway,Hostname,DNS1,DNS2,DNS3,路由信息
IP配置:
手动配置、DHCP(Dynamic Host Configurartion Protocol).
Linux:地址是属于内核的。
网络接口
lo:本地回环地址。
以太网网卡:ethX (CentOS 7 以后把这个网卡名字改成eno167777736,可以从grub中改过来)
编辑/etc/default/grub文件
如果想要控制自己的设备名字,而不是让内核以自己的方式命名,就需要创建 /etc/udev/rules.d/XXX-net.rules
pppX (点对点网卡)
ifconfig 命令:可以显示linux主机处于活动状态网卡的信息。
第四行的ether是MAC地址 txqueueline 传输队列
ifconfig -a 显示所有的接口的配置
ifconfig ethX IP/MASK 用ifconfig来配某个网卡的IP
ifconfig ethX down 让某个网卡关闭 (修改时立即生效,但不会永久有效)
我用这条命令后Xshell立马断开了,作死。。。
ifconfig ethX up
systemctl start network 启动网络服务 (CentOS 7是这个,CentOS6使用的是 /etc/init.d/network)
网关配置:route add(添加)
-host:主机路由
-net:网络路由
-net 0.0.0.0 默认路由
route add -net|-host 目标地址 gw 下一跳 ##添加一个网络路由,指定他的下一跳
default 默认路由 Flags 的 中U代表本地网络,就是不需要路由的。而UG是网关路由
del:删除
route del -host destination
route del -net destination
所作出改动重启网络服务或主机就会失效(临时改动)
查看路由,以数字的方式 route -n
[root@localhost init.d]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@localhost init.d]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
可以以图形的模式配置网络,在命令行中输入 nm-connection-editor
或者输入 nmtui 进行配置
或者用强大的nmcli命令进行配置
nmcli con show 可以查看连接状况
nmcli dev show eth0 查看某个网卡的信息
nmcli con down eth0 ## 可以关闭一个连接
网络配置文件:
/etc/sysconfig/network
[root@localhost 桌面]# nmcli con down eth0
Connection 'eth0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
[root@localhost 桌面]# nmcli dev show eth0
GENERAL.设备: eth0
GENERAL.类型: ethernet
GENERAL.硬盘: 00:0C:29:C6:3C:EE
GENERAL.MTU: 1500
GENERAL.状态: 30 (已断开)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
WIRED-PROPERTIES.容器: 开
nmcli general status 查看通用状态
[root@localhost 桌面]# nmcli general status
状态 CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
连接的 全部 已启用 已启用 已启用 已启用
添加一个静态IP地址以太网连接;
nmcli con add type ethernet con-name NAME ifname eth0 ip4 IP gw4 getway
网络接口配置文件:
/etc/sysconfig/network-scripts/ifcfg-ethX
DEVICE=: 关联的设备名称,要与文件名的后半部一致
BOOTPROTO={dhcp|static|none|bootp}:引导协议;要用静态地址,使用static或者none
IPADDR=: IP地址
NETMASK=:子网掩码
GATEWAY=:设定默认网关
ONBOOT=: 开机时是否自动激活此网络接口
HWADDR=: 硬件地址。不填可让系统自己默认
USERCTL={yes|no}: 是否允许普通用户控制此接口
PEERDNS={yes|no}: 是否允许在BOOTPROTO 为dhcp时接受由DHCP服务器指定的DNS地址。
更改完之后需要 systemctl restart network.service 重启网络配置文件
路由的文件配置:
[root@centos7 ~]# vim /etc/sysconfig/network-scripts/route-eth0
10.15.150.0/24 via 192.168.150.253 dev eth0
DEST NEXTHUP DEVICE
/etc/resolv.conf
nameserver DNS地址
本机解析:
/etc/hosts
主机IP 主机名称 主机别名
默认的情况下,hosts和resolv.conf这两个文件的优先级是hosts文件是高的,这个优先级设置是在 /etc/nsswitch.conf这个文件里。
光标所在的那一行有一个hosts 后面跟了一个files和dns,如果将dns和files位置调换,就将hosts和dns的优先级换过来了。
ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。几乎所有的Linux发行版本都支持该命令。
可以配置路由,也可以实现路由表的管理。
link:配置网络接口属性
ip link -s link show ##-s输出更为详尽的信息。
ip link show
ip link set DEV {up|down}
addr:协议地址
(一块网卡可以设置多个网卡,网络设备可以别名,非主要地址不能使用DHCP动态获取地址)
ip addr {add|del|show|flush}
ip addr add 10.2.2.2/8 dev eth1
ip addr show eth0 to 192.168.1/24
ip addr show eth0##显示某块网卡的信息
route:路由
设置到网络10/8的路由经过网关193.233.7.65
ip route add 10/8 via 193.233.7.65
网关:就是本网段的大门,负责与其他网络段的主机进行通信
这是本人所使用的网络环境,登陆192.168.1.1可以
管理自己所在网络的路由。当然需要知道密码了。
网关在哪看呢,就是上面显示的IP地质就是我们的网关了,网关必须和自己处在同一个网段。
systemctl stop NetworkManager (这个服务存有缓存,如果不关闭可能就无法使修改的网关奏效)
/etc/sysconfig/network/ 在这个文件中添加 GATEWAY=xxx.xxx.xxx.xxx 就可以设置全局网关了,当然,如果设置了网
卡网关,那么网卡网关就提前生效。
/etc/sysconfig/network-scripts/ifcfg-网关配置文件。 这个文件里设置网关网卡。
除了上述几个参数,还有几个,比如GATEWAYDEV: 用于设置连接网关的网络设备。
DOMAINNAME:用于设置本纪域名
DISDDMAIN:在拥有NIS系统的网络中,用来设置NIS域名
练习题
1.在系统中创建set-ip-tool命令要求如下当在系统中执行set-ip-tool 172.25.254.X 后
*)会自动显示ifconfig命令的输出
*)系统ip被设定为:172.25.254.X
*)系统网关被设定为:172.25.254.250
*)系统dns被设定为:172.25.254.250