1.1 基本概念
linux
通常安装linux后第一件事就是进行网络设置的主要是在网关中,由ip地址、子网掩码、广播地址,由这些来决定整个系统和外面的资源链接。shell
网关:网关(Gateway)又称网间链接器、协议转换器。是一个硬件和软件结合的设备(如今统称”路由器”),是链接不一样系统和网络的桥梁,工做在网络层。centos
网关地址:字面意义,路由器的ip地址。用于该网段和其它网段的通讯(通常为该网段的最小地址)。服务器
广播地址:是专门用于同时向网络中该网段的全部工做站进行发送的一个地址。通常为该网段的最大位。网络
Ip地址:每个设备(统称操做系统)都会有一个网络地址(如今普通PC都是使用IPv4,之后会慢慢过分到IPv6)。 IP地址=网络地址+主机地址session
子网掩码:当设备须要进行网络通讯的时候,用来计算访问ip是否为同一网段,若是是同一网段则直接链接,不然就继续广播。dom
一般的计算方式:ssh
Eg: ip地址/子网掩码:192.168.1.5/24socket
Ip:192.168.1.5tcp
子网掩码:255.255.255.000(前24位为1)
网段:192.168.1.0
网段下的主机:192.168.1.1----192.168.1.254
广播地址:192.168.1.255
网关<路由器>: 通常设置为192.168.1.1
2.1:(下面的文件都是一centos7为准)
/etc/host.conf 配置域名服务客户端的控制文件
/etc/hosts 完成主机名映射为IP地址的功能
/etc/resolv.conf 域名服务客户端的配置文件,用于指定域名服务器的位置
1.一个域名解析,先去/etc/host.conf 读取解析顺序。
2.若是是local在前,则去/etc/hosts读取
3.若是本地没有,则须要/etc/resolv.cnf 读取DNS服务器的解析
/etc/xinetd.conf 定义了由超级进程xinetd启动的网络服务
/etc/networks 完成域名与网络地址的映射
/etc/protocols 设定了主机使用的协议以及各个协议的协议号
/etc/services 设定主机的不一样端口的网络服务
设置:
/etc/sysconfig/network 包含了主机最基本的网络信息,用于系统启动.
/etc/sysconfig/network-script/ 系统启动时初始化网络的一些信息
2.2 /etc/host.conf
multi on #容许主机拥有多个IP地址 order hosts,bind #主机名解析顺序,即本地解析,DNS域名解析的顺序 这个文件通常不须要咱们修改,默认的解析顺序是本地解析,DNS服务器解析,也就是说在本系统里对于一个主机名首先进行本地解析,若是本地解析没有,而后进行DNS服务器解析
2.3 /etc/hosts 主机域名和IP映射,至关于一个本地DNS
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 可见,默认的状况是本机ip和本机一些主机名的对应关系,第一行是ipv4信息,第二行是ipv6信息,若是用不上ipv6本机解析,通常把该行注释掉。 第一行的解析效果是,localhost localhost.localdomain localhost4 localhost4.localdomain4都会被解析成127.0.0.1,咱们能够用ping试试。
2.4 /etc/resolv.conf 指定域名解析的DNS服务器IP等信息
default 0.0.0.0 loopback 127.0.0.0 link-local 169.254.0.0
2.5 /etc/protocols :linux支持的协议文件
2.6 /etc/services :linux的系统服务占用的端口
2.7 /etc/sysconfig/network-scripts/ifcfg-eno16777736: centos7的一个网络设置文件
这个文件是linux网络设置的配置文件.ip地址、子网掩码、广播地址、网关地址、系统启动是否使用网络,都在这里设置。 1.能够设置多个,而后根据状况启动 2.重要属性: ONBOOT 是否启动 IPADDR:IP地址 NETMASK:子网掩码 GATEWALL:网关地址 BROADCAST:广播地址 BOOTPROTO:开机协议,static 静态IP、none 不指定、dhcp 动态获取IP
3.1 常见的一些linux的网络命令
ifconfig:查看与设置IP地址、子网掩码
hostname:查看与设置主机名
route: 查看与设置路由信息(默认网关等)
ip、ping、netstat、telnet、ftp、rlogin、rcp、finger、mail、 nslookup;
3.2 netstat :命令用于显示各类网络相关信息,如网络链接,路由表,接口状态 (Interface Statistics),masquerade 链接,多播成员 (Multicast Memberships) 等等。
-a (all)显示全部选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的所有转化成数字。 -l 仅列出有在 Listen (监听) 的服務状态 -p 显示创建相关连接的程序名 -r 显示路由信息,路由表 -e 显示扩展信息,例如uid等 -s 按各个协议进行统计 -c 每隔一个固定时间,执行该netstat命令
从总体上看,netstat的输出结果能够分为两个部分:
1. Active Internet connections,称为有源TCP链接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字通常都应该是0。若是不是则表示软件包正在队列中堆积。这种状况只能在很是少的状况见到。
2.Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字同样,可是只能用于本机通讯,性能能够提升一倍)。
Proto显示链接使用的协议,RefCnt表示链接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示链接到套接口的其它进程使用的路径名
显示TCP:
$:netstat –at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN tcp6 0 0 localhost:ipp [::]:* LISTEN tcp6 0 0 localhost:smtp [::]:* LISTEN
显示UDP:
$:netstat –au Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:51217 0.0.0.0:* udp 0 0 0.0.0.0:bootpc 0.0.0.0:* udp 0 0 0.0.0.0:ntp 0.0.0.0:* udp 0 0 0.0.0.0:mdns 0.0.0.0:* udp 0 0 localhost:323 0.0.0.0:* udp 0 0 0.0.0.0:6654 0.0.0.0:* udp6 0 0 [::]:ntp [::]:* udp6 0 0 localhost:323 [::]:* udp6 0 0 [::]:52918 [::]:*
显示监听状态
$ netstat -atl Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN tcp6 0 0 localhost:ipp [::]:* LISTEN tcp6 0 0 localhost:smtp [::]:* LISTEN $ netstat -aul Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:59431 0.0.0.0:* udp 0 0 0.0.0.0:bootpc 0.0.0.0:* udp 0 0 0.0.0.0:ntp 0.0.0.0:* udp 0 0 0.0.0.0:mdns 0.0.0.0:* udp 0 0 localhost:323 0.0.0.0:* udp 0 0 0.0.0.0:43550 0.0.0.0:* udp6 0 0 [::]:ntp [::]:* udp6 0 0 localhost:323 [::]:* udp6 0 0 [::]:37361 [::]:*
显示相关的程序名和PID
$:netstat –tp rocesses could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name 1tcp 0 0 192.168.174.137:47809 85.12.30.227:https ESTABLISHED 49721/firefox tcp 0 0 192.168.174.137:47812 85.12.30.227:https ESTABLISHED 49721/firefox tcp 0 1 192.168.174.137:51118 tg-in-f138.1e100.n:http SYN_SENT 49721/firefox tcp 0 0 192.168.174.137:47815 85.12.30.227:https ESTABLISHED 49721/firefox
显示unix的本地服务<不少服务都是经过ip>
$:etstat –ax (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node PID/Program name Path unix 2 [ ACC ] STREAM LISTENING 35419 14062/gnome-session /tmp/.ICE-unix/14062 unix 2 [ ACC ] STREAM LISTENING 36397 14265/pulseaudio /tmp/.esd-1000/socket unix 2 [ ACC ] STREAM LISTENING 31489 14232/dbus-daemon @/tmp/dbus-3MrnzFuZih unix 2 [ ACC ] STREAM LISTENING 24786 - public/pickup unix 2 [ ACC ] STREAM LISTENING 22740 - @/tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 32449 14382/ibus-daemon @/tmp/dbus-gDwmwcbq unix 2 [ ACC ] STREAM LISTENING 35418 14062/gnome-session @/tmp/.ICE-unix/14062 unix 2 [ ACC ] STREAM LISTENING 36399 14265/pulseaudio /run/user/1000/pulse/native unix 2 [ ACC ] STREAM LISTENING 16589 - @ISCSID_UIP_ABSTRACT_NAMESPACE unix 2 [ ACC ] STREAM LISTENING 32337 14265/pulseaudio /run/user/1000/pulse/dbus-socket