首先要了解linux中各个配置文件的路径
linux
网卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
服务器
主机名配置文件:/etc/sysconfig/network
网络
静态主机配置文件:/etc/hosts
socket
接下来是文件中的内容首先 若是在局域网中有可自动分配IP的服务器,则可设置自动获取IP,若是没有DHCP服务器须要手动配置IP,即在网卡的配置文件中修改:tcp
/etc/sysconfig/network-scripts/ifcfg-eth0 内容以下ide
DEVICE=eth0 网卡设备名工具
BOOTPROTO=none 是否自动获取IP(none、static、dhcp)spa
HWADDR=00:0c:29:17:c4:09 MAC地址3d
NM_CONTROLLED=yes 是否能够由Network Manager图形管理工具托管接口
ONBOOT=yes 是否随网络服务启动,eth0生效
TYPE=Ethernet 类型为以太网
UUID= "44b76c8a-b59f-44d5-83fa-7f98fda86b3d" 惟一识别码
IPADDR=192.168.0.252 IP地址
NETMASK=255.255.255.0 子网掩码
GATEWAY=192.168.0.1 网关
DNS1=202.106.0.20 DNS
IPV6INIT=no IPv6没有启用
USERCTL=no 不容许非root用户控制此网卡
再有就是用命令查看和更改网络配置
ifconfig命令
这个命令是用来查看网络接口的配置信息,也能够用来配置网络接口的IP地址信息等
好比
# ifconfig eth1 172.16.100.105 netmask 255.255.255.192
为eth1网络端口配置IP地址为172.16.100.105 子网掩码为255.255.255.192
若是ifconfig后面有特定接口名称做为参数,则不管接口是否处于激活状态,都显示该网络接口的信息;若是没有的话就显示全部处于激活状态的网络接口信息;
有个经常使用选项
-a :显示全部网络接口,不管其是否处于激活状态
route命令
经常使用选项;
-n:以数字化显示主机名(IP地址)和端口
设置路由信息:
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
设置默认网关的方法:default == -net 0.0.0.0/0
route add default gw 192.168.100.1
删除默认网关的方法
routedel default
routedel default gw 172.16.0.1
添加静态路由的方法:
route add -net 10.0.0.0/8 gw 192.168.220.100 [dev eth2]
删除静态路由的方法
route del -net问问10.0.0.0/8
route del -net 10.0.0.0/8 gw 192.168.220.100
netstat命令
用于显示各类网络相关信息,如网络链接,路由表,接口状态 (Interface Statistics),masquerade 链接等等。
经常使用选项
显示网络接口的有:
[--tcp|-t]:只显示与TCP协议相关的网络链接
[--udp|-u] :只显示与UDP协议相关的网络链接
[--udplite|-U]:只显示udplite协议相关的网络链接
[--raw|-w] :显示与裸套接字相关的网络链接
[--listen-ing|-l]:显示处于监听状态的TCP链接
[--all|-a]:查看全部状态的任意链接
[--numeric|-n]:数字化显示结果中的主机名、端口号、用户ID等信息;
[--extend|-e[--extend|-e]]:以扩展格式显示结果
[--program|-p]:显示与该网络链接相关的应用程序及进程ID
经常使用的选项组合:
-tan,-uan,-tnl,-unl,-ntlp,-unlp,-tunlp
之中显示路由表的有:
{--route|-r}: 显示路由表信息
[--extend|-e]:显示扩展信息
[--numeric|-n]:数字化信息
之中显示接口状态的有:
netstat {--interfaces|-I|-i}
[--all|-a]
[--extend|-e]
[--verbose|-v]
[--program|-p]
[--numeric|-n]
iproute家族
ip命令
ip是iproute2软件包里面的一个强大的网络配置工具,它可以替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。几乎全部的Linux发行版本都支持该命令。
使用方法:ip [ OPTIONS ] OBJECT { COMMAND | help }
其中OBJECT可有 { link | addr| route | netns} 之中的一个
当OBJECT为link时有:
ip link set [dev] IFACE_NAME {up|down} :激活或禁用网络接口
ip link set [dev] IFACE_NAME [arp { on | off }]:是否容许此网络接口使用ARP协议;
ip link set [dev] IFACE_NAME 改网络接口名称,须要将设备先down掉
ip link set [dev] IFACE_NAME [mtu MTU]:修改网络接口的MTU数值
ip link set [dev] IFACE_NAME [ netns PID]:
ip link set [dev] IFACE_NAME [netns NAME]:将指定的网络接口加入到指定的网络名称空间中;
ip link {show|list}:列表显示全部的链路接口;只显示链路层信息;
ip link help:得到简短的帮助信息
当OBJECT为addr时 即 为网络设备添加或删除地址 或查看
ip addr add IFADDR dev IFACE_NAME:为指定的网络接口添加IP地址
ip addr del IFADDR dev IFACE_NAME:将IP地址从指定的网络接口上删除
ip addr flush dev IFACE_NAME:将指定接口上配置的全部IP地址所有清除
ip addr { show|list} [dev IFACE_NAME]:显示网络接口上配置的IP地址;
为网络接口增长多个IP地址,并可以使用ifconfig查看;
ip addr add IFADDR dev IFACE_NAME label IFACE_NAME_LABEL
↓
此IFACE_NAME_LABEL 为 IFACE_NAME:# (#表明任意整数)
~]# ip address add 192.168.19.130/24 brd + label ens33:1 dev ens33 # 至关于ifconfig ens33:1 192.168.19.130/24 ~]# ip addr add 192.168.19.130/24 dev ens33 # “简化版”
~]# ip addr delete 192.168.19.130/24 dev ens33 #删除网络设备的一个地址
当OBJECT为route时 - 查看和设置路由表信息
ip route { add | del } TARGET/PREFIX vai NEXT_HOP [dev IFACE_NAME]
ip route list
当OBJECT为netns时
ip netns list:列表显示全部的自定义的名称空间;
ip netns add NS_NAME:建立名称空间;
ip netns exec NS_NAME cmd:在指定的名称空间中使用命令;
ip netns delete NS_NAME:删除指定的名称空间;
ss命令
ss 是 socket statistics 的缩写。顾名思义,ss 命令能够用来获取socket 统计信息,它能够显示和netstat 相似的内容。但 ss 的优点在于它可以显示更多更详细的有关TCP和链接状态的信息,并且比netstat更快速更高效。
ss的用法 ss [options] [ FILTER ]
options经常使用选项:
-t:TCP协议相关的链接状态
-u:UDP协议相关的链接
-w:raw socket相关的链接
-l:处于监听状态的链接
-a:全部的状态的套接字链接
-n:数字化显示结果
-p:显示相关应用程序及PID
-e:显示详细的扩展信息
-m:显示内存使用量
-o:计时器信息
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
TCP-STATE:TCP协议有限状态机中的全部可用状态;
EXPRESSION:
dport= :port
sport= :port
EXPRESSION示例:
'( dport = :22 or sport = :22 )'