1. 程式人生 > 實用技巧 >網路協議和管理配置2

網路協議和管理配置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 addr del 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.