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