linux命令设置网络 如何设置linux操作系统的网络参数

linux下如何配置网络?1、首先我们用root用户登录linux桌面系统 。
2、然后我们点击上方的【系统】,点击【首选项】 。
3、然后我们点击列表里的【网络连接】 。
4、然后我们点击“编辑” 。打开“IPV4 设置”页面,选择“方法”为“手动” 。
5、选择“添加” 。填写自己分配的ip地址,子网掩码,网关,DNS服务器等信息,参照windows 系统填写 。点击“应用” 。
linux下配置网络连接linux 命令配置网络连接首先,先了解传统的网络设置命令:
1. 使用ifconfig命令设置并查看网络接口情况
示例1: 设置eth0的IP,同时激活设备:
# ifconfig eth0 192.168.4.1 netmask 255.255.255.0 up
示例2: 设置eth0别名设备 eth0:1 的IP,并添加路由
# ifconfig eth0:1 192.168.4.2
# route add ?host 192.168.4.2 dev eth0:1
示例3:激活(禁用)设备
# ifconfig eth0:1 up(down)
示例4:查看所有(指定)网络接口设置
# ifconfig (eth0)
2. 使用route 命令设置路由表
示例1:添加到主机路由
# route add ?host 192.168.4.2 dev eth0:1
# route add ?host 192.168.4.1 gw 192.168.4.250
示例2:添加到网络的路由
# route add ?net IP netmask MASK eth0
# route add ?net IP netmask MASK gw IP
# route add ?net IP/24 eth1
示例3:添加默认网关
# route add default gw IP
示例4:删除路由
# route del ?host 192.168.4.1 dev eth0:1
示例5:查看路由信息
# route 或 route -n (-n 表示不解析名字,列出速度会比route 快)
3.ARP 管理命令
示例1:查看ARP缓存
# arp
示例2: 添加
# arp ?s IP MAC
示例3: 删除
# arp ?d IP
4. ip是iproute2软件包里面的一个强大的网络设置工具,他能够替代一些传统的网络管理工具 。例如:ifconfig、route等,
上面的示例完万能用下面的ip命令实现,而且ip命令能实现更多的功能.下面介绍一些示例:
4.0 ip命令的语法
ip命令的用法如下:
ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]
4.1 ip link set--改动设备的属性. 缩写:set、s
示例1:up/down 起动/关闭设备 。
# ip link set dev eth0 up
这个等于传统的 # ifconfig eth0 up(down)
示例2:改动设备传输队列的长度 。
参数:txqueuelen NUMBER或txqlen NUMBER
# ip link set dev eth0 txqueuelen 100
示例3:改动网络设备MTU(最大传输单元)的值 。
# ip link set dev eth0 mtu 1500
示例4: 修改网络设备的MAC地址 。
参数: address LLADDRESS
# ip link set dev eth0 address 00:01:4f:00:15:f1
4.2 ip link show--显示设备属性. 缩写:show、list、lst、sh、ls、l
-s选项出现两次或更多次,ip会输出更为周详的错误信息统计 。
示例:
# ip -s -s link ls eth0
eth0: mtu 1500 qdisc cbq qlen 100
link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
2449949362 2786187 0 0 0 0
RX errors: length crc frame fifo missed
0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
178558497 1783946 332 0 332 35172
TX errors: aborted fifo window heartbeat
0 0 0 332
这个命令等于传统的 ifconfig eth0
5.1 ip address add--添加一个新的协议地址. 缩写:add、a
示例1:为每个地址设置一个字符串作为标签 。为了和Linux-2.0的网络别名兼容 , 这个字符串必须以设备名开头,接着一个冒号,
# ip addr add local 192.168.4.1/28 brdlabel eth0:1 dev eth0
示例2: 在以太网接口eth0上增加一个地址192.168.20.0,掩码长度为24位(155.155.155.0),标准广播地址,标签为eth0:Alias:
# ip addr add 192.168.4.2/24 brddev eth1 label eth1:1
这个命令等于传统的: ifconfig eth1:1 192.168.4.2
5.2 ip address delete--删除一个协议地址. 缩写:delete、del、d
# ip addr del 192.168.4.1/24 brddev eth0 label eth0:Alias1
5.3 ip address show--显示协议地址. 缩写:show、list、lst、sh、ls、l
# ip addr ls eth0
5.4.ip address flush--清除协议地址. 缩写:flush、f
示例1 : 删除属于私网10.0.0.0/8的所有地址:
# ip -s -s a f to 10/8
示例2 : 取消所有以太网卡的IP地址
# ip -4 addr flush label "eth0"
6. ip neighbour--neighbour/arp表管理命令
缩写 neighbour、neighbor、neigh、n
命令 add、change、replace、delete、fulsh、show(或list)
6.1 ip neighbour add -- 添加一个新的邻接条目
ip neighbour change--修改一个现有的条目
ip neighbour replace--替换一个已有的条目
缩写:add、a;change、chg;replace、repl
示例1: 在设备eth0上,为地址10.0.0.3添加一个permanent ARP条目:
# ip neigh add 10.0.0.3 lladdr 0:0:0:0:0:1 dev eth0 nud perm
示例2:把状态改为reachable
# ip neigh chg 10.0.0.3 dev eth0 nud reachable
6.2.ip neighbour delete--删除一个邻接条目
示例1:删除设备eth0上的一个ARP条目10.0.0.3
# ip neigh del 10.0.0.3 dev eth0
6.3.ip neighbour show--显示网络邻居的信息. 缩写:show、list、sh、ls
示例1: # ip -s n ls 193.233.7.254
193.233.7.254. dev eth0 lladdr 00:00:0c:76:3f:85 ref 5 used 12/13/20 nud reachable
6.4.ip neighbour flush--清除邻接条目. 缩写:flush、f
示例1: (-s 能显示周详信息)
# ip -s -s n f 193.233.7.254
7. 路由表管理
7.1.缩写 route、ro、r
7.5.路由表
从Linux-2.2开始 , 内核把路由归纳到许多路由表中 , 这些表都进行了编号,编号数字的范围是1到255 。另外,
为了方便,还能在/etc/iproute2/rt_tables中为路由表命名 。
默认情况下,所有的路由都会被插入到表main(编号254)中 。在进行路由查询时,内核只使用路由表main 。
7.6.ip route add -- 添加新路由
ip route change -- 修改路由
ip route replace -- 替换已有的路由
缩写:add、a;change、chg;replace、repl
示例1: 设置到网络10.0.0/24的路由经过网关193.233.7.65
# ip route add 10.0.0/24 via 193.233.7.65
示例2: 修改到网络10.0.0/24的直接路由,使其经过设备dummy
# ip route chg 10.0.0/24 dev dummy
示例3: 实现链路负载平衡.加入缺省多路径路由,让ppp0和ppp1分担负载(注意:scope值并非必需,他只不过是告诉内核,
这个路由要经过网关而不是直连的 。实际上,如果你知道远程端点的地址,使用via参数来设置就更好了) 。
# ip route add default scope global nexthop dev ppp0 nexthop dev ppp1
# ip route replace default scope global nexthop dev ppp0 nexthop dev ppp1
示例4: 设置NAT路由 。在转发来自192.203.80.144的数据包之前,先进行网络地址转换,把这个地址转换为193.233.7.83
# ip route add nat 192.203.80.142 via 193.233.7.83
示例5: 实现数据包级负载平衡,允许把数据包随机从多个路由发出 。weight 能设置权重.
# ip route replace default equalize nexthop via 211.139.218.145 dev eth0 weight 1 nexthop via 211.139.218.145 dev eth1 weight 1
7.7.ip route delete-- 删除路由
缩写:delete、del、d
示例1:删除上一节命令加入的多路径路由
# ip route del default scope global nexthop dev ppp0 nexthop dev ppp1
7.8.ip route show -- 列出路由
缩写:show、list、sh、ls、l
示例1: 计算使用gated/bgp协议的路由个数
# ip route ls proto gated/bgp |wc
1413 9891 79010
示例2: 计算路由缓存里面的条数,由于被缓存路由的属性可能大于一行 , 以此需要使用-o选项
# ip -o route ls cloned |wc
159 2543 18707
示例3: 列出路由表TABLEID里面的路由 。缺省设置是table main 。TABLEID或是个真正的路由表ID或是/etc/iproute2/rt_tables文件定义的字符串 ,
或是以下的特别值:
all -- 列出所有表的路由;
cache -- 列出路由缓存的内容 。
ip ro ls 193.233.7.82 tab cache
示例4: 列出某个路由表的内容
# ip route ls table fddi153
示例5: 列出默认路由表的内容
# ip route ls
这个命令等于传统的: route
7.9.ip route flush -- 擦除路由表
示例1: 删除路由表main中的所有网关路由(示例:在路由监视程式挂掉之后):
# ip -4 ro flush scope global type unicast
示例2:清除所有被克隆出来的IPv6路由:
# ip -6 -s -s ro flush cache
示例3: 在gated程式挂掉之后,清除所有的BGP路由:
# ip -s ro f proto gated/bgp
示例4: 清除所有ipv4路由cache
# ip route flush cache
*** IPv4 routing cache is flushed.
7.10 ip route get -- 获得单个路由 .缩写:get、g
使用这个命令能获得到达目的地址的一个路由及他的确切内容 。
ip route get命令和ip route show命令执行的操作是不同的 。ip route show命令只是显示现有的路由,而ip route get命令在必要时会派生出新的路由 。
示例1: 搜索到193.233.7.82的路由
# ip route get 193.233.7.82
193.233.7.82 dev eth0 src 193.233.7.65 realms inr.ac cache mtu 1500 rtt 300
示例2: 搜索目的地址是193.233.7.82 , 来自193.233.7.82,从eth0设备到达的路由(这条命令会产生一条非常有意思的路由,这是一条到193.233.7.82的回环路由)
# ip r g 193.233.7.82 from 193.233.7.82 iif eth0
193.233.7.82 from 193.233.7.82 dev eth0 src 193.233.7.65 realms inr.ac/inr.ac
cache mtu 1500 rtt 300 iif eth0
8. ip route -- 路由策略数据库管理命令
命令add、delete、show(或list)
注意:策略路由(policy routing)不等于路由策略(rouing policy) 。
在某些情况下 , 我们不只是需要通过数据包的目的地址决定路由,可能还需要通过其他一些域:源地址、IP协议、传输层端口甚至数据包的负载 。
这就叫做:策略路由(policy routing) 。
8.5. ip rule add -- 插入新的规则
ip rule delete -- 删除规则
缩写:add、a;delete、del、d
示例1: 通过路由表inr.ruhep路由来自源地址为192.203.80/24的数据包
ip ru add from 192.203.80/24 table inr.ruhep prio 220
示例2:把源地址为193.233.7.83的数据报的源地址转换为192.203.80.144 , 并通过表1进行路由
ip ru add from 193.233.7.83 nat 192.203.80.144 table 1 prio 320
示例3:删除无用的缺省规则
ip ru del prio 32767
8.7. ip rule show -- 列出路由规则
缩写:show、list、sh、ls、l
示例1: # ip ru ls
0: from all lookup local
32762: from 192.168.4.89 lookup fddi153
32764: from 192.168.4.88 lookup fddi153
32766: from all lookup main
32767: from all lookup 253
9. ip maddress -- 多播地址管理
缩写:show、list、sh、ls、l
9.3.ip maddress show -- 列出多播地址
示例1: # ip maddr ls dummy
9.4. ip maddress add -- 加入多播地址
ip maddress delete -- 删除多播地址
缩写:add、a;delete、del、d
使用这两个命令,我们能添加/删除在网络接口上监听的链路层多播地址 。这个命令只能管理链路层地址 。
示例1: 增加 # ip maddr add 33:33:00:00:00:01 dev dummy
示例2: 查看 # ip -O maddr ls dummy
2: dummy
link 33:33:00:00:00:01 users 2 static
link 01:00:5e:00:00:01
示例3: 删除 # ip maddr del 33:33:00:00:00:01 dev dummy
10.ip mroute -- 多播路由缓存管理
10.4. ip mroute show -- 列出多播路由缓存条目
缩写:show、list、sh、ls、l
示例1:查看 # ip mroute ls
(193.232.127.6, 224.0.1.39) Iif: unresolved
(193.232.244.34, 224.0.1.40) Iif: unresolved
(193.233.7.65, 224.66.66.66) Iif: eth0 Oifs: pimreg
示例2:查看 # ip -s mr ls 224.66/16
(193.233.7.65, 224.66.66.66) Iif: eth0 Oifs: pimreg
9383 packets, 300256 bytes
11. ip tunnel -- 通道设置
缩写 tunnel、tunl
11.4.ip tunnel add -- 添加新的通道
ip tunnel change -- 修改现有的通道
ip tunnel delete -- 删除一个通道
缩写:add、a;change、chg;delete、del、d
示例1:建立一个点对点通道,最大TTL是32
# ip tunnel add Cisco mode sit remote 192.31.7.104 local 192.203.80.1 ttl 32
11.4.ip tunnel show -- 列出现有的通道
缩写:show、list、sh、ls、l
示例1: # ip -s tunl ls Cisco
12. ip monitor和rtmon -- 状态监视
ip命令能用于连续地监视设备、地址和路由的状态 。这个命令选项的格式有点不同,命令选项的名字叫做monitor , 接着是操作对象:
ip monitor [ file FILE ] [ all | OBJECT-LIST ]
示例1: # rtmon file /var/log/rtmon.log
示例2: # ip monitor file /var/log/rtmon.log r
1、Linux系统基本网络1.1、服务器注意事项linux命令设置网络:
远程服务器不允许关机linux命令设置网络,只能重启
重启时应该先关闭服务
不要在服务器访问高峰运行高负载命令
远程配置防火墙时不要把自己踢出服务器
指定合理的密码规范并定期更新
合理分配权限
定期备份重要的数据和日志
1.2、设置网络桥接命令和(ANT模式):
systemctl restart network------重启网卡service network restart---------重启网络服务
systemctlstop NetworkManager临时暂停网络管理器systemctl disable NetworkManager 永久关闭网络管理器
systemctl start NetworkManager拥有root用户的可执行权限
systemctl stop NetworkManager停止并禁用虚拟机 NetworkManager 服务
systemctl disable NetworkManager
注意:修改网络配置文件后,需要重新加载网络连接 , 如果是通过network.service则使用命令:systemctl restart network;如果是通过NetworkManager.service则使用nmcli命令:nmcli connection reload 。
设置网络主要操作(桥接模式和)
[root@localhost network-scripts]# cd etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vi ifcfg-ens33
systemctl restart network------重启网卡
service network restart---------重启网络服务
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static设置静态
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=10c17057-e9c9-4831-a8ff-0757ea0abc0b
DEVICE=ens33
ONBOOT=yes#开机重启
#IPADDR=192.168.43.168#ip地址(需要跟主机同一个网段,不同一个IP)
IPADDR=10.63.73.20
#NETMASK=255.255.255.0#子网掩码(下面三个都跟主机一样)
NETMASK=255.255.0.0
#GATEWAY=192.168.43.1#网关
GATEWAK=10.63.255.254
#GATEWAK=10.200.0.3
#DNS1=192.168.43.1#DNS服务
设置网络主要步骤(Nat模式)
1.打开Vm,点击编辑-虚拟网络编辑
2.选择VMnet8,将VMnet信息改为NAT模式,比如我的本机IP是192.168.138.1,子网掩码为255.255.255.0
所以我将下面的IP配置成192.168.138.0 子网掩码配置成255.255.255
3.再点击NAT设置将网管配置成192.168.138.2(ps:网关不要配置成和自己IP地址一样)
然后再应用确定
4.右键点击虚拟机设置,网络适配器改为自定义(选择Vmnet8 Nat模式)
5.接下来开启虚拟机
cd /etc/sysconfig/network-scripts/
vim ifcfg-eno16777736
然后再执行命令:/etc/init.d/network restart
1.3、设置防火墙
1.3.1、防火墙命令
停止防火墙:
systemctl stop firewalld.service #停止firewall 防火墙
serviceiptables stop#(centos7版本之前)
永久关闭防火墙:
systemctl disable firewalld.service #禁止firewall开机启动 ( 永久关闭防火墙 )
chkconfig iptables off #永久关闭防火墙
开始防火墙:
systemctl start firewalld#启动防火墙
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动(重启)
查看防火墙状态:
systemctl status firewalld
serviceiptables status # (7版本之前)
1.3.2、Linux chkconfig 命令
Linux chkconfig 命令用于检查,设置系统的各种服务 。
这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务 。
语法
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level 等级代号][系统服务][on/off/reset]
参数 :
--add增加所指定的系统服务 , 让 chkconfig 指令得以管理它,并同时在系统启动的叙述文件内增加相关数据 。
--del删除所指定的系统服务,不再由 chkconfig 指令管理,并同时在系统启动的叙述文件内删除相关数据 。
--level等级代号指定读系统服务要在哪一个执行等级中开启或关毕 。
实例
列出chkconfig 所知道的所有命令,可以用chkconfig –list查看所有的服务及其在每个级别的开启状态 。
# chkconfig --list
开启服务
# chkconfig telnet on//开启 Telnet 服务
# chkconfig --list//列出 chkconfig 所知道的所有的服务的情况
关闭服务
# chkconfig telnet off// 关闭 Telnet 服务
# chkconfig --list// 列出 chkconfig 所知道的所有的服务的情况
[root@cent01 sbin]# chkconfig --level 3 network off//关闭3级别的network服务
[root@cent01 sbin]# chkconfig --list //3级别已关闭
network0:关 1:关 2:开 3:关 4:开 5:开 6:关
[root@cent01 sbin]# chkconfig network on //不输入级别,默认打开2,3,4,5级别
[root@cent01 sbin]# chkconfig --list
network0:关 1:关 2:开 3:开 4:开 5:开 6:关
[root@cent01 sbin]# chkconfig --del network //删除network
[root@cent01 sbin]# chkconfig --list//network已消失
mysqld0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole0:关 1:关 2:关 3:关 4:关 5:关 6:关
[root@cent01 sbin]# chkconfig --add network //增加network服务
[root@cent01 sbin]# chkconfig --list//network服务又恢复linux命令设置网络了
mysqld0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole0:关 1:关 2:关 3:关 4:关 5:关 6:关
network0:关 1:关 2:开 3:开 4:开 5:开 6:关
[root@cent01 sbin]# chkconfig --list
注:该输出结果只显示 SysV 服务 , 并不包含
原生 systemd 服务 。SysV 配置数据
可能被原生 systemd 配置覆盖 。
要列出 systemd 服务,请执行 'systemctl list-unit-files' 。
查看在具体 target 启用的服务请执行
'systemctl list-dependencies [target]' 。
mysqld0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole0:关 1:关 2:关 3:关 4:关 5:关 6:关
注意: 但是这里只显示了SysV管理的服务,centos6及之前都是这个管理工具,但是在centos7用的是systemd管理 , 所以systemd管理的服务在这里没有显示出来 。
运行级别为系统启动级别 , 具体含义如下:
0 shutdown关机
1 单用户模式
2 无NFS支持的多用户模式
3 完全多用户模式 , 常用的命令行模式
4 保留给用户自定义
5 图形界面登录,比3多了一个图形界面
6 重启
1.3.2、Linux systemd命令
systemd是管理开机启动程序的工具(SysV启动开机进程时一次只能启动一个,而systemd则一次可以启动多个服务,这样就导致systemd的开机速度会更快 。)
[root@localhost ~]# systemctl list-units --all --type=service
UNITLOADACTIVESUBDESCRIPTION
abrt-ccpp.serviceloadedactiveexitedInstall ABRT coredump hook
abrt-oops.serviceloadedactiverunning ABRT kernel log watcher
UNITLOADACTIVESUBDESCRIPTION
[root@cent01 sbin]# ls /usr/lib/systemd/system//启动的脚本文件目录
[root@cent01 ~]# systemctl list-units//列出正在运行的unit
[root@cent01 ~]# systemctl list-units --all //列出所有的unit,包括active和inactive
[root@cent01 ~]# systemctl list-units --all --state=inactive //列出inactive的unit
[root@cent01 ~]# systemctl list-units --all --type=service//列出所有状态的service
[root@cent01 ~]# systemctl list-units --type=service//列出active的service
[root@cent01 ~]# systemctl is-active crond.service//查看某个unit是否active
systemctl enable crond.service //开机启动 .service可以省略
systemctl disable crond.service //禁止开机启动
systemctl status crond.service//查看服务状态
systemctl start crond.service //启动服务
systemctl stop crond.service//停止服务
systemctl restart crond.service//重启服务
systemctl is-enabled crond.service//查看某个服务是否开机启动
unit /usr/lib/systemd/system 此目录下列出了很多文件 , 这些文件都是unit 。类别如下:
service 系统服务target 多个unit组成的组device 硬件设备mount 文件系统挂载点automount 自动挂载点path 文件或路径scope 不是由systemd启动的外部进程slice 进程组snapshot systemd快照socket 进程间通信的套接字swap swap文件timer 定时器
target target类似于centos6的启动级别,target内又包含多个unit的组合,当然target内也可以包含target 。启动target就是启动多个unit,用target来管理这些unit 。
[root@cent01 ~]# systemctl list-units --all --type=target//查看当前所有的target
UNITLOADACTIVESUBDESCRIPTION
basic.targetloadedactiveactive Basic System
bluetooth.targetloadedactiveactive Bluetooth
[root@localhost ~]# systemctl list-dependencies multi-user.target
multi-user.target
● ├─abrt-ccpp.service
● ├─abrt-oops.service
● ├─abrt-vmcore.service
● ├─abrt-xorg.service
[root@localhost ~]# systemctl get-default//查看系统默认的target
multi-user.target
systemctl set-default multi-user.target//设置默认的target
multi-user.target等同于centos6的运行级别3 。他们的对应关系如下:
SysV运行级别systemd target备注
0poweroff.target关闭系统
1rescure.target单用户模式
2multiuser.target用户自定义级别,通常识别为3
3multiuser.target多用户命令行模式
4multiuser.target用户自定义级别,通常识别为3
5graphical.target多用户图形界面,比级别3只多一个GUI
6reboot.target重启
所以总结起来 , 一个service属于一种unit,多个unit组成一个target , 当然target里面也可以包含target 。
1.4、ifconfig命令配置IP网络参数
格式:
[root@localhost /]#ifconfig [网络设备] [ip地址] [MAC地址] [netmask掩码地址] [broadcast广播地址(NDC)] [up/down]
[root@localhost /]#ifconfig eth0 192.168.74.130 netmask 255.255.255.0 up
用ifconfig命令配置eth0别名设备 , 为eth0绑定多个IP地址 。
[root@localhost /]#ifconfig eth0:1 192.168.74.130
[root@localhost /]#ifconfig eth0:2 192.168.73.130
1.5、使用routedel命令添加路由
格式:
[root@localhost /]#routedel [-net|host] [网域或主机] netmask [mask] [gw]
[root@localhost /]#route #查看路由信息
功能:添加路由
-net : 表示后面接的路由为一个网络 。
-host : 表示后面接的为连接到单部主机的路由 。
netmask : 与网络有关,可以设定netmask决定网路的大小 。
gw : gateway (网关)的简写,后面接的是ip地址 。
1.6、使用hostname命令修改主机名称
[root@localhost /]#hostname service.jw.com
hostnamectl set-hostname nod1
【linux命令设置网络 如何设置linux操作系统的网络参数】linux命令设置网络的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于如何设置linux操作系统的网络参数、linux命令设置网络的信息别忘了在本站进行查找喔 。

    推荐阅读