網絡功能是linux系統最大一個亮點,網絡上大部分服務器是使用linux系統的,可見其網絡功能的強大。linux
要將linux接入網絡,最基本的就是要配置IP,子網掩碼mask,DNS服務器等基本參數,其主要配置方式有兩種,一種爲靜態指定,一種爲動態獲取。centos
靜態指定:服務器
配置IP: ifconfig命令網絡
命令格式: ifconfig [interface]
ifconfig -a 顯示全部網絡接口地址相關信息
ifconfig IFACE [up|down] 啓用或關閉指定網卡接口
例:ifconfig eth0 up 啓用eth0
ifconfig IFACE IP/mask [up] 指定接口IP及掩碼並啓動此接口
ifconfig IFACE IP netmask MASK 做用與上個命令相同
socket
例:ifconfig eth0 192.168.1.100/16 或者tcp
ifconfig eth0 192.168.1.100 netmask 255.255.255.0ide
[-]promisc 禁用混雜模式,不加- 表示啓用工具
混雜模式表示不是發給本身的報文本身也會保留一份,而不是丟棄,主要用來抓包分析 用的ui
配置路由:route命令centos7
route -n 查看路由,加上-n選項表示不顯示反解
route add 添加路由
[-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 添加路由的命令格式
-net :添加網絡路由
-host:添加主機路由
例子:
添加主機路由: 目標主機:172.16.249.8 網關:192.168.1.1
route add -host 172.16.249.8 gw 192.168.1.1 dev eth0
顯示結果以下
添加網絡
目標網絡:172.16.0.0 網關:192.168.1.1 如下兩種方法都可
route add -net 172.16.0.0 netmask 255.255.255.0 gw 192.168.1.1 dev eth0
route add -net 172.16.0.0/24 gw 192.168.1.1 dev eth0
默認路由,網關:172.16.0.1 兩種方式都可
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add default gw 172.16.0.1
刪除:route del
route del -host IP :刪除主機路由
route del -net IP netmask MASK :刪除網絡路由
DNS服務器指定
編輯配置文件/etc/resolv.conf 在 nameserver後面加入DNS的IP地址便可,能夠設置三個DNS服務器
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
本機的配置文件顯示以下: 本機僅設置了兩個DNS服務器
netstat命令:網絡狀態查看
顯示網絡鏈接的相關的鏈接
-t: tcp協議相關
-u: udp協議相關
-w: raw socket相關
-l: 處於監聽狀態
-a: 全部狀態
-n: 以數字顯示IP和端口;
-e:擴展格式
-p: 顯示相關進程及PID
顯示路由表:
netstat
-r: 顯示內核路由表
-n: 數字格式
-v :顯示詳細信息
顯示接口統計數據:
netstat -i 顯示全部接口統計數據
netstat -I IFACE 顯示指定接口的統計數據 I與IFACE之間無空格
ifup: 啓用網絡接口
ifdown:關閉網絡接口
IP命令:
ip link set 設置連接情況
up 啓用連接
down 關閉連接
ip link show 顯示當前全部網絡接口的相關信息
ip link show dev eth0 顯示eth0接口的相關
ip addr 協議地址管理工具
ip address show 顯示全部協議地址的信息
ip addr add IPADDR dev IFACE 給指定的接口添加ip地址
如:ip addr add 192.168.1.11/24 dev eth0 給eth0接口添加ip 192.168.1.11
ip addr del IPADDR dev IFACE 刪除指定接口的IP地址
如:ip addr del 192.168.1.11/24 dev eth0 刪除eth0上的ip地址192.168.1.11
ip address flush :清除原有的IP地址
ip route 路由管理工具
ip route add 添加路由
如:主機路由:ip route add 172.16.0.5 via 192.168.1.1 dev eth0 添加到達172.16.0.5主機須要的路由爲192.168.1.1
網絡路由: ip route add 172.16.0.0/16 via 192.168.1.1 dev eth0 添加到達172.16.0.0網絡須要的路由爲192.168.1.1
默認路由:ip route add default via 192.168.1.1 添加192.168.1.1爲默認路由
ip route delete 刪除路由
如:ip route delete 172.16.0.5 刪除到達172.16.0.5主機的路由
ip route show 顯示路由信息
ip route flush 清除原有路由信息
ss命令:網絡狀態查看工具
格式:ss [OPTION]... [FILTER]
選項:
-t: tcp協議相關
-u: udp協議相關
-w: 裸套接字相關
-x:unix sock相關
-l: listen狀態的鏈接
-a: 全部
-n: 數字格式
-p: 相關的程序及PID
-e: 擴展的信息
-m:內存用量
-o:計時器信息
修改配置文件更改網絡配置信息:
IP、MASK、GW、DNS相關配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
此配置文件內容以下
各個字段的含義以下:
DEVICE:此配置文件應用到的設備;
HWADDR:對應的設備的MAC地址;
BOOTPROTO:激活此設備時使用的地址配置協議,經常使用的dhcp, static, none, bootp;
NM_CONTROLLED:NM是NetworkManager的簡寫;此網卡是否接受NM控制;
ONBOOT:在系統引導時是否激活此設備;
TYPE:接口類型;常見有的Ethernet, Bridge;
UUID:設備的唯一標識;
當BOOTPROTO爲static時,須要指定如下信息
IPADDR:指明IP地址;
NETMASK:子網掩碼;
GATEWAY: 默認網關;
DNS1:第一個DNS服務器指向;
DNS2:第二個DNS服務器指向;
路由配置文件爲/etc/sysconfig/network-scripts/route-IFACE
配置內容有兩種風格
第一種風格: TARGET via GW 即爲 目標 網關 網關地址
例如: 172.16.0.0 via 192.168.1.1 到達172.16.0.0這個網絡須要經由192.168.1.1
第二種風格:
每三行定義一條路由
ADDRESS#=TARGET 目標
NETMASK#=mask 掩碼
GATEWAY#=GW 網關地址
例如:
ADDRESS0=172.16.0.0 // 目標
NETMASK0=255.255.0.0 // 掩碼
GATEWAY0=192.168.1.1 // 網關地址
Linux網絡屬性配置的tui(text user interface):
使用setup便可顯示一個圖形界面,配置相關參數便可,重啓網絡服務便可生效
配置當前主機的主機名:
方法一: 使用hostname [HOSTNAME]命令便可
方法二:編輯配置文件/etc/sysconfig/network
使用 HOSTNAME= 新的主機名 便可
centos7的地址配置工具:nmcli
命令格式:nmcli [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT:
device 顯示和管理網絡接口
connection 啓用,中止網絡鏈接
nmcli device show IFACE:顯示接口的信息
如何修改IP地址等屬性:
命令格式:nmcli connection modify IFACE [+|-]setting.property value
+ 添加
- 去除
setting.property有如下幾種:
(1) ipv4.addresses ipv4的地址
例子: nmcli connection modify eth0 + ipv4.addresses 192.168.1.113/24 給eth0添加一個192.168.1.113的地址
(2) ipv4.gateway ipv4的網關
例: nmcli connection modify eth0 ipv4.gateway 192.168.1.1 添加網關
(3)ipv4.dns ipv4的dns地址
例: nmcli connection modify eth0 ipv4.dns 192.168.1.1 添加dns地址
nmcli connection down eth0 禁用eth0接口
nmcli connection up eth0 啓用eth0接口
網絡接口配置tui工具:nmtui
nmtui :顯示配置網絡信息的圖形工具
主機名稱配置工具:hostnamectl
hostnamectl status 顯示狀態信息
hostnamectl set-hostname 設置主機名