网络协议和管理配置2

1.route命令

查看路由表

route 

route -n 查看路由表

route add [-net|-host|-default] target [netmask Nm] [gw GW] [[dev]i f] 添加路由

route del [-net|-host] target [netmask Nm] [gw GW] [[dev]i f] 

route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
目标:192.168.1.3 网关:172.16.0.1
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
目标:192.168.0.0 网关172.16.0.1
route add default gw 172.16.0.1
默认路由,网关:172.16.0.1
route del -host 192.168.1.3 
删除目标
route del -net 192.168.0.0 netmask 255.255.255.0
删除网段

route表

路由表中的表项内容包括:
destination:目的地址,用来标识IP包的目的地址或者目的网络。
mask:网络掩码,与目的地址一起标识目的主机或者路由器所在的网段的地址。
pre:标识路由加入IP路由表的优先级。可能到达一个目的地有多条路由,但是优先级的存在让他们先选择优先级高的路由进行利用。
cost:路由开销,当到达一个目的地的多个路由优先级相同时,路由开销最小的将成为最优路由
interface:输出接口,说明IP包将从该路由器哪个接口转发。
nexthop:下一跳IP地址,说明IP包所经过的下一个路由器。

范例实现静态路由

环境:

四台主机:

A主机:eth0 NAT模式

R1主机:eth0 NAT模式,eth1 仅主机模式

R2 主机:eth0 桥接模式,eth1仅主机模式

B主机:eth0桥接模式

#配置主机A
ifconfig eth0 10.0.0.123/8
直连所以只需要配置ip
#配置主机R1
ifconfig eth0 10.0.0.200/8
ifconfig eth1 192.168.0.200/24
route add -net 172.16.0.0/16 gw 192.168.0.201/24 dev eth1
直连只用配置第三个网段
echo 1 > /proc/sys/net/ipv4/ip_forward
linux系统默认是禁止数据包转发的
#配置R2
ifconfig eth0 172.16.0.200/16
ifconfig eth1 192.168.0.0.201/24
route add -net 10.0.0.0/8 gw 192.168.0.200 dev eth1
echo 1 > /proc/sys/net/ipv4/ip_forward
#配置B
ifconfig eth0 172.16.0.123/16

2.ip命令

ip link set eth1 down
禁用网卡
ip link set eth1 name wangnet
网卡改名
ip link set wangnet up
启用网卡
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
增加网卡别名实现一个网卡多个IP
ip addr flush dev eth0
清除网络地址
ip address add 10.0.0.8/24 dev eth0
ip addr del 10.0.0.8/24 dev eth0
添加ip地址

3.ss命令

来治愈iproute包,代替netstat,netstat通过遍历/proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取sockst信息

ss [option] ... [filter]

选线:

-t:tcp协议相关

-u:udp协议相关

-l: listen状态的连接

-a:所有

-n:数字模式

常见用法

ss -l
显示本地打开的所有端口
ss -pl
显示每个进程具体打开的socket
ss -ta
显示所有tcp socket
[10:49:53 root@centos7 ~]$ss -o state established '( dport = :ssh or sport = :ssh )'
Netid Recv-Q Send-Q              Local Address:Port                               Peer Address:Port                
tcp   0      0                        10.0.0.7:ssh                                    10.0.0.1:6345                  timer:(keepalive,73min,0)
显示所有已建立的ssh连接

4.写入配置文件永久更改

网络配置文件

IP:/etc/sysconfig/network-scripts/ifcfg-iface

NAME:此配置文件应用到的设备

DEVICE:设备名

BOOTPROTO:激活此设备时使用的地址配置协议,常用dhcp,static

IPADDR:指明IP地址

GATEWAY:默认网关

PREFIX:网络ID的位数如:24

DNS1:第一个DNS服务器地址

ONBOOT:在系统引导时是否激活此设备

BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.7
GATEWAY=10.0.0.2
PREFIX=24
DNS1=8.8.8.8

配置当前主机的主机名

#centos6之前版本

/etc/sysconfig/network

HOSTNAME=

#centos7以后版

/etc/hostname

HOSTNAME

路由相关的配置文件

route:/etc/sysconfig/static-routes

[11:20:12 root@centos7 ~]$vim /etc/sysconfig/static-routes
 any net 192.168.1.0/24 gw 10.0.0.254
[11:23:43 root@centos7 ~]$route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.2        0.0.0.0         UG    100    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0
[11:23:58 root@centos7 ~]$systemctl restart network
[11:24:08 root@centos7 ~]$route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.2        0.0.0.0         UG    100    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.1.0     10.0.0.254      255.255.255.0   UG    0      0        0 eth0

网卡别名

[11:31:52 root@centos7 ~]$cat /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=eth0:1
IPADDR=10.0.0.100
PREFIX=8
[11:31:36 root@centos7 ~]$systemctl restart network

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:35:00:d2 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.7/24 brd 10.0.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet 10.0.0.100/8 brd 10.255.255.255 scope global noprefixroute eth0:1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe35:d2/64 scope link 
       valid_lft forever preferred_lft forever

5.网络配置工具nmcli

修改配置文件执行生效

nmcli con relod
nmcli con up con-name

范例

[16:42:51 root@centos7 ~]$nmcli connection show
NAME                UUID                                  TYPE      DEVICE 
eth0                5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
Wired connection 1  7a9e3935-5829-3398-bf8d-d5321d6e9548  ethernet  --
显示状态
[16:42:59 root@centos7 ~]$nmcli dev status 
DEVICE  TYPE      STATE      CONNECTION 
eth0    ethernet  connected  eth0       
lo      loopback  unmanaged  --      
显示设备状态
nmcli con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.x.254
创建新连接static,指定静态IP,不自动连接

nmcli实现bonding

mode 0:balance-rr 轮调策略:多张网卡可以轮流发数据包,实现负载均衡的功能

mode 1:active-backup 主备策略:其中active网卡的发数据包,其他备用

mode 3:broadcast 广播策略:每个网卡都会发一份包

nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 10.0.0.100/24
添加bonding接口
nmcli con add type bond-slave ifname eth0 master bond0
nmcli con add type bond-slave ifname eth1 master bond0
添加从属接口
nmcli con up bond-slave-eth0
nmcli con up bond-slave-eth1
要启动绑定,则必须首先启动从属接口
nmcli con up mybond0
启动绑定

6.网桥

nmcli con add type birdge con-name bro ifname br0
nmcli con mod bro ipv4,addresses 10.0.0.100/24 ipv4.method manual
nmcli con up bro
创建网桥
nmcli con add type bridge-slave con-name br0-port0 ifname eth0 master br0
nmcli con add type bridge-slave con-name br0-port1 ifname eth1 master br0
nmcli con up br0-port0
nmcli con up br0-port1
加入物理网卡
cat /etc/sysconfig/network-scripts/ifcfg-br0
查看网桥配置文件

7.tcpdump

网络数据包截获分析工具。支持针对网络层,协议,主机,网络或端口的过滤。并提供and,or,not等逻辑语句帮助去除无用的信息

tcpdump -D
查看网卡
tcpdump
不指定任何参数,监听第一块网卡上经过的数据包。主机上可能有不止一块网卡,所以经常需要指定网卡
tcpdump -i eth0
监听特定网卡
tcpdump host 10.0.0.100
监听特定主机,监听主机10.0.0.100 的通信包,注意:出入的包都会被监听。
tcpdump src host hostname
特定来源
tcpdump dst host hostname
特定目标地址
tcpdump -i eth0 -nn icmp and src host 10.0.0.6 and dst host 10.0.0.7
监听从6到7的icmp包
tcpdump port 3000
特定端口
tcpdump tcp port 22 and src host 10.0.0.100
监听来自主机10.0.0.100在端口22上的TCP数据包

详细示例

tcpdump tcp -i eht1 -t -s 0 -c 100 and dst port ! 22 src net 192.168.1.0/24 -w ./target.cap
1)tcp:ip icmp arp 这些选项都要放到第一个参数的位置,用来过滤数据报文的类型
2)-i eth1 :只抓经过接口eth1的包
3)-t:不显示时间戳
4)-s:抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据包
5)-c 100 :只抓取100个包
6)dst port !22:不抓取目标端口时22的数据包
7)src net 192.168.1.0/24:数据包源地址
8)-w :保存成cap文件,方便用wireshark分析

8.ubuntu网络配置

网卡名称

vi /etc/default/grub
GRUB_CMDLINE_LINUX="net.ifnames=0"
修改配置文件为下面形式
grub-mkconfig -o /boot/grub/grub.cfg
生效新的文件,ubuntu版
grub2-mkconfig -o /etc/grub2.cfg
centos版

 静态IP必须要遵守格式

vim /etc/netplan/50-cloud-init.yaml
network: version:
2 ethernets: eth0: dhcp4: true match: macaddress: 00:16:3e:0e:64:66 set-name: eth0
netplan apply
地址生效

查看dns

ls -l /etc/resolv.conf
resolvectl status 
systemd-resolve --status
原文地址:https://www.cnblogs.com/aiyoubucuo/p/14205772.html