linux基本网络配置

时间:2024-01-12 11:25:02

--

linux基本网络配置管理

rhel6开始有一个networkmanger的网络配置服务(可以图形配置网络,拔号,无线连接,vpn等)
但此服务开启会造成你的ip不固定(会dhcp获取),而且后期一些项目不支持此服务
在rhel7之后此服务有一些升级,有一个新的nmcli命令可以配置网络的任何东西,非常强大
总之在我们的实验环境,先关闭此服务

rhel6或centos6的关闭方法
# /etc/init.d/NetworkManager stop 或者  service NetworkManager stop --立马关闭此服务
# chkconfig NetworkManager off --开机不自动启动此服务

rhel7或centos7的方法
# systemctl stop NetworkManager.service
# systemctl disable NetworkManager.service

上外网需要三个要素(内网ip,能够出去公网的网关,DNS指向)

临时配置一个ip
# ifconfig eth0 172.16.19.X/24 --把X替代成你的ip数字

临时配置网关
# route -n --这条命令去查看是否有网关,我下面就是网关的路由条目 
......
0.0.0.0 172.16.19.254 0.0.0.0 UG 0 0 0 eth0
如果没有上面的网关,则执行下面这条命令,临时加网关(把add换成del就是删除)
# route add default gw 172.16.19.254

永久配置dns指向
# vim /etc/resolv.conf --此文件里加上nameserver参数指向公网的任意dns服务器就可以
nameserver 114.114.114.114
nameserver 8.8.8.8 --指多个dns服务器,会按照从上往下的顺序来解析

======================================================================

网络有关的基本配置命令

# mii-tool eth0 --查看网卡状态,以前的虚拟机里不支持,现在vmware的版本里是支持的
eth0: negotiated 100baseTx-FD flow-control, link ok --代表网卡连接OK
# mii-tool eth0
eth0: no link --代表网线和网卡没连
--除了link ok和no link两种之外其它显示就可能是网卡没驱动,或者网卡松了等等(虚拟机里使用此命令也属于这种情况)

# ethtool eth0 --查看网卡的工作模式等信息

Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full

# ethtool -s eth0 speed 10 duplex half autoneg off --改成10Mb/s的速率,半双工,关闭自动协商

Advertised auto-negotiation: No
Speed: 10Mb/s
Duplex: Half

# ethtool -s eth0 speed 100 duplex full autoneg on --改回100Mb/s,改1000M需要交换机和网卡支持

关于网速的计算方法:
一般网速说的10M,100M都是以b为单位,而文件大小所说的10M,100M以B为单位
1B=8b
所以如果你在电信拉的网速为100Mb/s,理论(不计算衰减和其它因素)下载速度为12.5MB/s,一个1000M的电影理论下载需要80秒

还有一个常识要搞清楚:我们一般说的网速是指下行速率,但上行速率不一定(很多家用网络下行100Mb/s,上行只有4Mb/s)

=====================================================================

linux的网卡名叫法不是完全固定的,可能是eth0,eth1,ens33,em0等;名字只是一个名称而已,如果你真的想要改网卡名,需要使用udev(比较复杂)

如何确定你的网卡叫什么名称?
使用ip addr来查看,如要查看不了,就ifconfig 网卡名 up,能up的就说明有这个网卡

通过network服务来配置动态或静态ip

network服务配置dhcp方式动态获取ip
# vim /etc/sysconfig/network-scripts/ifcfg-eth0 --网卡名要对应好(如果你的网卡不叫eth0;则改成对应的就好)

DEVICE=eth0 --定义设备号
BOOTPROTO=dhcp --定义获取IP的方式为dhcp
ONBOOT=yes --定义此网卡设备是否启动
NM_CONTROLLED=no --改为no,表示不受NetworkManager此服务控制(NetworkManager是rhel6里新加的一个图形界面配置网络的服务,但对于技术人员来讲,不建议使用。以后你会接触到kvm虚拟机或rhcs红帽集群套装都会不支持此服务)

# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static --定义获取IP的方式为static 静态IP
IPADDR=172.16.19.X --定义静态IP
NETMASK=255.255.255.0 --定义子网掩码
GATEWAY=172.16.19.254 --手动定义你的网关,就是route -n命令看到的默认网关 这一句也可以写到/etc/sysconfig/network这个文件下(是全局生效,就是对所有网卡都生效)
ONBOOT=yes
NM_CONTROLLED=no
DNS1=x.x.x.x
DNS2=x.x.x.x --你也可以在这里配置你的DNS指向,如果不想配置在这也可以,你可以配置到/etc/resolv.conf文件里

# /etc/init.d/NetworkManager stop
# chkconfig NetworkManager off

# /etc/init.d/network restart --重启网络服务

还有一个setup命令可以配置网络,但不建议使用

======================================================================