您的位置:首页 > 理论基础 > 计算机网络

Linux 网络配置及命令

2017-07-14 22:32 323 查看
首先要了解linux中各个配置文件的路径

网卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0

主机名配置文件:/etc/sysconfig/network

静态主机配置文件:/etc/hosts

接下来是文件中的内容首先 如果在局域网中有可自动分配IP的服务器,则可设置自动获取IP,如果没有DHCP服务器需要手动配置IP,即在网卡的配置文件中修改:
/etc/sysconfig/network-scripts/ifcfg-eth0 内容如下
DEVICE=eth0 网卡设备名
BOOTPROTO=none 是否自动获取IP(none、static、dhcp)
HWADDR=00:0c:29:17:c4:09 MAC地址
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 )'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ifconfig ip命令