网络配置是我们在安装好操作系统之后,需要解决的第一步。现时代没有接入网络的主机已然等同于一堆废铁。在网络配置的过程中,通常我们需要配置本机IP地址,缺省网关,DNS,主机名等等。本文主要描述在Linux环境下,主要以传统命令行方式讲解如何将主机接入网络。对于网路配置的新命令如ip,nmcli等等在以后的文章中描述。

一、网络配置概述

主机接入互联网前提:遵循TCP/IP协议栈

配置主机接入TCP/IP网络需要配置的内容:
  IP/Netmask
  路由:
    主机路由:一台主机
    网络路由:是一个网络
    默认路由(缺省网关):
  DNS服务器:
    主DNS服务器
    备用DNS服务器
  主机名:computer_name.domain.com

网络设备表示方法(CentOS7版本)
  内核识别设备:驱动

  网卡命名机制
    CentOS 7中,systemd对网络设备的命名方式
    (a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1
    (b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1
    (c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
    (d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56;
    (e) 上述均不可用时,则使用传统命名机制,基于BIOS支持biosdevname中
    (f) 本地回环 lo
    内置网卡:em1,em2
     pci卡:pYpX Y:slot ,X:port

  名称组成格式
    en: Ethernet 有线局域网
    wl: wlan 无线局域网
    ww: wwan无线广域网

  名称类型:
    o: 集成设备的设备索引号
    s: 扩展槽的索引号
    x: 基于MAC地址的命名
    ps: enp2s1

二、IP地址配置

动态配置(IP/Netmask):
  DHCP服务器(Dynamic Host Configuration Protocol)

静态指定:
  用户空间工具(ifconfig,ip命令),立即生效,但不会长久有效(地址配置在内核,显示在用户空间)
  网络设备服务配置文件,完成长久有效配置:
    /etc/sysconfig/network-script/ifcfg-eth0
  GUI/TUI配置工具

网路配置命令
ifconfig(传统配置命令)
  ifconfig:显示所有活动状态的相关信息
  ifconfig Interface:仅显示指定接口的相关信息
  ifconfig Interface Address
    ip/mask
      长格式:
      ifconfig Interface IP netmask MASK
    CIDR:无类别的预见路由
    ifconfig Interface IP/MASK

ifconfig示例

# more /etc/redhat-release  ###当前环境
CentOS Linux release 7.2.1511 (Core)
# ifconfig |grep eno -A1  ###当前服务器有2块网卡,分别为eno16777728,eno33554960
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 172.24.8.131  netmask 255.255.255.0  broadcast 172.24.8.255
--
eno33554960: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.81.144  netmask 255.255.255.0  broadcast 192.168.81.255# ifconfig eno33554960 192.168.81.145/24
# ifconfig eno33554960|head -2
eno33554960: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.81.145  netmask 255.255.255.0  broadcast 192.168.81.255        # ifconfig eno33554960 down    ###禁用当前网卡
# ifconfig eno33554960 up      ###激活当前网卡
# ifconfig eno33554960|head -2  ###再次查看网卡,由于使用了DHCP,IP地址被分配为原地址
eno33554960: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.81.144  netmask 255.255.255.0  broadcast 192.168.81.255网卡手工配置示例
# vi /etc/sysconfig/network-scripts/ifcfg-eno16777728
TYPE="Ethernet"          //指定网络类型为以太网模式
BOOTPROTO="dhcp"    //指定启动地址协议的获取方式(dhcp或bootp为自动获取,none
DEFROUTE="yes"        //是否把这个eno16777728设置为默认路由
PEERDNS="yes"          //是否允许DHCP服务分配地址时直接更新/etc/resolv.conf中的DNS服务器地址
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"  //如果IPv4配置失败,设备是否被禁用
IPV6INIT="yes"            //允许在该网卡上启动IPV6的功能
IPV6_AUTOCONF="yes"    //是否使用IPV6地址的自动配置
IPV6_DEFROUTE="yes"        ### Author : Leshami
IPV6_PEERDNS="yes"          ### Blog : http://blog.csdn.net/leshami
IPV6_PEERROUTES="yes"   ### QQ/Weixin : 645746311
IPV6_FAILURE_FATAL="no"
NAME="eno16777728"      //网络连接标识名
UUID="52ff246a-d965-4056-b34f-16e8f4df2c0a"  //网卡全球通用唯一识别码
DEVICE="eno16777728"                        //网络连接标识名
ONBOOT="yes"                                //网卡开机后自动启动
USERCTL=no                                  //是否允许普通用户操作网卡
PEERDNS={yes|no}        //是否允许DHCP服务分配地址时直接更新/etc/resolv.conf中的DNS服务器地址
# systemctl  restart  network.service        //重启网络服务,使配置生效

三、路由配置

route(传统配置命令)
route:route:显示路由信息(网关指的就是下一跳的地址,下一跳地址必须与本地主机位于同一网络)-n:使用数字格式显示,不反解地址到主机名route add    //添加路由-host HOST_IP gw Next [dev Device]-net Net_ADDR-net 0.0.0.0 目标地址为任意地址,即默认路由route del  //删除路由-host HOST_IP gw 下一跳-net Net_ADDR gw 下一跳示例:
# route
# route
Kernel IP routing table
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
default        192.168.81.2    0.0.0.0        UG    100    0        0 eno33554960
172.24.8.0      0.0.0.0        255.255.255.0  U    100    0        0 eno16777728
192.168.81.0    0.0.0.0        255.255.255.0  U    100    0        0 eno33554960示例中对于目表为192.168.81.0以及172.24.8.0网络段的访问,Gateway为4个0表示没有网络,也就是说属于直连网络,无需路由
对于目标为default的(当使用route -n时,default为4个0)网络段时,通过缺省网关192.168.81.2连接目标指向单个
主机的为主机路由,目标网络地址的为网络路由,目标指向所有地址(0.0.0.0或者default)的为默认路由。        route输出具体描述
route命令输出的路由表字段含义如下:Destination 目标The destination network or destination host. 目标网络或目标主机。Gateway 网关The gateway address or '*' if none set. 网关地址,如果没有就显示星号。Genmask 网络掩码The  netmask  for  the  destination net; '255.255.255.255' for ahost destination and '0.0.0.0' for the default route.Flags:总共有多个旗标,代表的意义如下:                        U (route is up):该路由是启动的;                      H (target is a host):目标是一部主机 (IP) 而非网域;                      G (use gateway):需要透过外部的主机 (gateway) 来转递封包;                      R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;                      D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由                      M (modified from routing daemon or redirect):路由已经被修改了;                      !  (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)A (installed by addrconf)C (cache entry)Metric 距离、跳数。暂无用。The 'distance' to the target (usually counted in  hops).  It  isnot  used  by  recent kernels, but may be needed by routing dae-mons.Ref  不用管,恒为0。Number of references to this route. (Not used in the Linux  ker-nel.)Use    该路由被使用的次数,可以粗略估计通向指定网络地址的网络流量。Count  of lookups for the route.  Depending on the use of -F andIface 从哪一个网络接口路由出去,如本例中的eno33554960Interface to which packets for this route will be sent.添加网络路由当前本机IP地址为172.24.8.131假定要到达目标地址为:192.168.10.0/24,下一跳为 172.24.8.2 则添加路由命令如下# route add -net 192.168.10.0/24 gw 172.24.8.2  ###此时为网络网关(路由)# route -nKernel IP routing tableDestination    Gateway        Genmask        Flags Metric Ref    Use Iface0.0.0.0        192.168.81.2    0.0.0.0        UG    100    0        0 eno33554960172.24.8.0      0.0.0.0        255.255.255.0  U    100    0        0 eno16777728192.168.10.0    172.24.8.2      255.255.255.0  UG    0      0        0 eno16777728 192.168.81.0    0.0.0.0        255.255.255.0  U    100    0        0 eno33554960可以看到上述多出了一条路由记录,目标网络为192.168.10.0新添加的路由接口设备自动使用了eno16777728网卡,因为172.24.8.2与eno16777728 IP为同一网段内添加主机路由假定要到达目标地址为:192.168.20.1,下一跳为: 172.16.100.177 # route add -host 192.168.20.1 gw 172.16.100.177SIOCADDRT: Network is unreachable #提示网络不可达,因为172.16.100.177不在当前两块网卡的任一网段内下面修改下一跳地址为172.24.8.254再次尝试添加# route add -host 192.168.20.1 gw 172.24.8.254 ###此处无需指定隐码# route -n    ###在下面的列表中Flags有一个H,表示此条为主机路由Kernel IP routing tableDestination    Gateway        Genmask        Flags Metric Ref    Use Iface0.0.0.0        192.168.81.2    0.0.0.0        UG    100    0        0 eno33554960172.24.8.0      0.0.0.0        255.255.255.0  U    100    0        0 eno16777728192.168.10.0    172.24.8.2      255.255.255.0  UG    0      0        0 eno16777728192.168.20.1    172.24.8.254    255.255.255.255 UGH  0      0        0 eno16777728192.168.81.0    0.0.0.0        255.255.255.0  U    100    0        0 eno33554960路由表描述对于请求到192.168.10.0的网路,路由地址为172.24.8.2,经由网卡eno16777728对于请求到192.168.20.1的主机,路由地址为172.24.8.254,经由网卡eno16777728对于请求172.24.8.0以及192.168.81.0的网络,为直连网络,无需路由对于请求到0.0.0.0的网络经由192.168.81.2从网卡eno33554960进行路由,如访问百度则由此路由# ping www.baidu.com -c 2PING www.baidu.com (14.215.177.38) 56(84) bytes of data.64 bytes from 14.215.177.38: icmp_seq=1 ttl=128 time=5.76 ms64 bytes from 14.215.177.38: icmp_seq=2 ttl=128 time=6.13 ms删除路由假定需要删除默认路由# route del -net 0.0.0.0 netmask 0.0.0.0  ###等价于 route del default# route |grep -i default# ping www.baidu.com  ###缺省路由被删除后,ping百度不可达connect: Network is unreachable                删除之前添加的网络路由和主机路由                # route del -net 192.168.10.0/24# route del -host 192.168.20.1# route -nKernel IP routing tableDestination    Gateway        Genmask        Flags Metric Ref    Use Iface172.24.8.0      0.0.0.0        255.255.255.0  U    100    0        0 eno16777728192.168.81.0    0.0.0.0        255.255.255.0  U    100    0        0 eno33554960添加缺省网关# route add default gw 192.168.81.2# route add -net 0.0.0.0 gw 192.168.81.2 ###与上一条命令等价路由静态配置文件/etc/sysconfig/network/etc/sysconfig/network-scripts/route-ethX | route-pppX配置文件的格式1:每行一个要配置的路径条目目标 via 下一跳    例子:192.168.0.0/24 via 172.16.100.177配置文件的格式2:每一组一个路由条目ADDRESS#=目标NETMASK#=掩码GATEWAY#=下一跳ADDRESS0=192.168.0.0NETMASK0=255.255.255.0GATEWAY0=172.16.100.1

四、DNS配置

DNS服务器指向:配置文件:/etc/resolv.conf最多三个:nameserver DNS_SERVER_IPnameserver 8.8.8.8测试DNS解析dig -t A 域名  //正解测试dig -x IP      //反解测试查看当前主机DNS解析配置# more /etc/resolv.conf # Generated by NetworkManagersearch localdomain example.comnameserver 192.168.81.2nameserver 172.24.8.1# dig -t A www.oracle.com; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -t A www.oracle.com;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11680;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;www.oracle.com.                        IN      A;; ANSWER SECTION:www.oracle.com.        5      IN      CNAME  ds-www.oracle.com.edgekey.net.ds-www.oracle.com.edgekey.net. 5 IN    CNAME  e11582.dscx.akamaiedge.net.e11582.dscx.akamaiedge.net. 5  IN      A      184.28.37.127;; Query time: 12 msec;; SERVER: 192.168.81.2#53(192.168.81.2)  //通过本地IP 192.168.81.2递交外部DNS服务器解析;; WHEN: Mon Sep 04 21:14:31 CST 2017;; MSG SIZE  rcvd: 128# dig -x 184.28.37.127; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> -x 184.28.37.127;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20357;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 8, ADDITIONAL: 9;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; MBZ: 0005 , udp: 512;; QUESTION SECTION:;127.37.28.184.in-addr.arpa.    IN      PTR;; ANSWER SECTION:127.37.28.184.in-addr.arpa. 5  IN      PTR    a184-28-37-127.deploy.static.akamaitechnologies.com.;; AUTHORITY SECTION:28.184.in-addr.arpa.    5      IN      NS      ns5.reverse.deploy.akamaitechnologies.com.28.184.in-addr.arpa.    5      IN      NS      ns1.reverse.deploy.akamaitechnologies.com.28.184.in-addr.arpa.    5      IN      NS      ns7.reverse.deploy.akamaitechnologies.com.28.184.in-addr.arpa.    5      IN      NS      ns3.reverse.deploy.akamaitechnologies.com.28.184.in-addr.arpa.    5      IN      NS      ns4.reverse.deploy.akamaitechnologies.com.28.184.in-addr.arpa.    5      IN      NS      ns8.reverse.deploy.akamaitechnologies.com.28.184.in-addr.arpa.    5      IN      NS      ns2.reverse.deploy.akamaitechnologies.com.28.184.in-addr.arpa.    5      IN      NS      ns6.reverse.deploy.akamaitechnologies.com.;; ADDITIONAL SECTION:ns1.reverse.deploy.akamaitechnologies.com. 5 IN A 96.7.50.32ns2.reverse.deploy.akamaitechnologies.com. 5 IN A 2.16.40.32ns3.reverse.deploy.akamaitechnologies.com. 5 IN A 23.74.25.32ns4.reverse.deploy.akamaitechnologies.com. 5 IN A 95.100.168.32ns5.reverse.deploy.akamaitechnologies.com. 5 IN A 95.100.173.32ns6.reverse.deploy.akamaitechnologies.com. 5 IN A 23.61.199.32ns7.reverse.deploy.akamaitechnologies.com. 5 IN A 184.26.161.32ns8.reverse.deploy.akamaitechnologies.com. 5 IN A 2.22.230.32;; Query time: 205 msec;; SERVER: 192.168.81.2#53(192.168.81.2);; WHEN: Mon Sep 04 21:17:05 CST 2017;; MSG SIZE  rcvd: 407

网络服务启动脚本

 CentOS 5/6:服务脚本:/etc/init.d/networkCentOS 6服务脚本:/etc/init.d/NetworkManager服务脚本:SysV style LSB控制运行在后台守护进程,接受参数{start|stop|restart|status}脚本位置:/etc/rc.d/init.d或/etc/init.d配置某服务开机自动启动:chkconfig Src_Script_Name on禁止开机自动启动:chkconfig Src_Script_Name off查看 chkconfig --list调用机制:1./etc/init.d/Script_Name {start|stop|restart|status}1.service Script_Name {start|stop|restart|status}CentOS 7服务脚本:/etc/init.d/network# systemctl start network.service如何实现在单网卡上配置多个地址(通常用于VIP)通过网络接口别名来实现eth0Xeth0:X eth0:0 eth0:1....配置1:ifconfig ethX:Y IP/mask配置2:ifcfg-ethX:YDEVICE=ethX:YBOOTPROTO={none|static}IPADDR=NETMASK=GATEWAY=非主地址(别名地址)不支持DHCP协议获取

五、主机名配置

短主机名,如mycomputer1
长主机名(FQDN),如mycomputer.example.comCentOS 5/6配置主机名查看主机名: # hostname # more /etc/sysconfig/network# more /proc/sys/kernel/hostname临时修改主机名:# hostname new_host_name  # hostname new_host_name.domain.com永久修改主机名(需要重启):# vi /etc/sysconfig/network    修改以及立即生效# echo new_host_name >/proc/sys/kernel/hostname    # sysctl kernel.hostname=new_host_name                    示例# more /etc/redhat-release CentOS release 6.7 (Final)# hostnamenode133# hostname host133# hostnamehost133[root@host133 ~]# echo host133.example.com >/proc/sys/kernel/hostname[root@host133 ~]# hostnamehost133.example.com[root@host133 ~]# sysctl kernel.hostname=host133.example.comkernel.hostname = host133.example.com[root@host133 ~]# hostnamehost133.example.comCentOS 7 配置主机名        在RHEL7中,引入了静态(static)、瞬态(transient)和灵活(pretty)三种主机名。“静态”主机名——也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名——是在系统运行时临时分配的主机名,例如,通过DHCP或DNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。“灵活”主机名——是允许使用自由形式(可包括特殊/空白字符)的主机名,以展示给终端用户(如Tom‘s  Computer)查看主机名的命令一般格式如下:hostnamectl  [status]  [--static|--transient|--pretty] 选项说明如下:status——可同时查看静态、瞬态和灵活三种主机名及其相关的设置信息。--static——仅查看静态(永久)主机名。--transient——仅查看瞬态(临时)主机名。--pretty ——仅查看灵活主机名。[root@centos7 ~]# hostnamectl statusStatic hostname: centos7.example.comIcon name: computer-vmChassis: vmMachine ID: 8ef737feff1942798ec060bf5a162df6Boot ID: e2c8eded07f04e879d2b160d9a6bc6cfVirtualization: vmwareOperating System: CentOS Linux 7 (Core)CPE OS Name: cpe:/o:centos:centos:7Kernel: Linux 3.10.0-327.el7.x86_64Architecture: x86-64修改主机名的命令一般格式如下# hostnamectl  [--static|--transient|--pretty]  set-hostname  <new_hostname>[root@centos7 ~]# hostnamectl  --transientcentos7.example.com# hostnamectl --transient  set-hostname centos7-a //修改瞬态主机名# hostnamectl                            //查看修改后的瞬态主机名Static hostname: centos7.example.comTransient hostname: centos7-a# hostnamectl  --static        //查看修改前的静态主机名centos7.example.com            # hostnamectl --static set-hostname centos7-a.example.com    //修改静态主机名# hostnamectl  --static                              //查看修改后的瞬态主机名centos7-a.example.comHostnamectl设置主机名后,会立即刷新内核主机名,以及更新/etc/hostname文件,但当前Bash提示符需重新登陆shell[root@centos7 ~]# bash                    //重新开启shell#/etc/hosts文件中主机名不会自动更新,应手动更新主机名与IP地址的映射关系vim  /etc/hosts127.0.0.1        localhost localhost.localdomain localhost4 localhost4.localdomain4::1        localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.81.142 centos7-a.example.com centos7-a  //添加此行,其中192.168.81.142是本机IP地址:wq                //保存退出  

Linux 主机网络接入配置相关推荐

  1. Linux主机之间配置免密登录

    需求:linux主机上配置免密登录其他服务器 系统环境:centos7 主机A:192.168.149.150 主机B:192.168.149.153 示例:在主机A上配置免密登录主机B 1.主机A上 ...

  2. 跑linux主机配置,在 StorSimple Linux 主机上配置 MPIO | Microsoft Docs

    您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn. 在运行 CentOS ...

  3. 两台 Linux 主机之间配置信任关系(以及如何解除)

      主机之间的 ssh 信任,简单地说,就是主机之间使用 ssh 命令登录主机不需要密码.   一.主机之间配置信任关系   将主机 A (47.100.247.242) 作为信任主机,主机 B(10 ...

  4. Linux主机安全配置

    安全配置规范 身份鉴别 账号检查 安全配置编号 操作系统--LINUX--配置-1 配置名称 用户账号分配检查,避免共享账号存在 配置要求内容 1.系统需按照实际用户分配账号: 2.避免不同用户间共享 ...

  5. linux系统oracle启动过程,Linux主机下配置Oracle 10G自动启动过程记

    四:创建服务 $su - root # cd /etc/rc.d/init.d/ # gedit oradbstart 复制如下脚本1或者脚本2内容到oradbstart文件: 注意点 (1).#开始 ...

  6. Linux主机安装配置Wifi网卡

    最近家里换了一个5G无线路由,顺便也给家里的台式机更换一个WIFI网卡,之前用的是一个很旧的TPLINK的54M USB网卡,速度太慢了.在网上找了一下,大部分的无线网卡都只支持Windows或MAC ...

  7. ESXi与Linux主机配置syslog日志上传远程服务器

    ESXi与Linux主机配置syslog日志上传远程服务器 https://www.conum.cn/cloud/vmware/148.html 前言 最近很多客户遇到等级保护监测,需要搭建日志服务器 ...

  8. graylog3.0配置收集linux主机和windows主机日志

    graylog可以收集操作系统日志,包括linux,windows,macos等.在linux上配置使用rsyslog服务,比较容易,在windows 配置比较复杂. 参考官方配置手册http://d ...

  9. godaddy linux windows,Godaddy Windows/Linux主机301设置教程

    说到301大概有几方面的的好处,第一.权重过渡转移,301跳转可以很好解决换新域名后搜索引擎权重的过渡转移,老的域名权重会过渡到新的域名上面,第二.URL的规范化.使权重集中到主域名上.总之,使用30 ...

最新文章

  1. asp.net 2.0中新增的AppendDataBoundItems
  2. php中的foreach和js中的foreach的用法和区别
  3. How research looks?
  4. 同步一张表、复制过滤设置
  5. 使用Python SocketServer快速实现多线程网络服务器
  6. android 片段,android – 将片段添加到片段中(嵌套片段)
  7. windows下搭建Vagrant+Virtualbox环境
  8. ora-03297(表空间无法回收)问题的解决方法
  9. matlab polyfit和polyval函数的使用
  10. win10雷电3接口驱动_[九猫win10系统]Intel处理器福利普及雷电3接口:微软/苹果强烈支...
  11. 计算机房宣传标语,机房安全标语
  12. Android N开发者预览版(第二版)发布
  13. 中国芯片自给率激增,芯片库存高企的美国阻止中国发展先进工艺
  14. 绝对值海德汉编码器圆光栅RCN226/RCN228/RCN2380/RCN2310/RCN2381/RCN223FM/RCN2390FM/RCN2391FM参数
  15. 动态规划算法 | 最长递增子序列
  16. 键盘音效,使得敲代码更加给力
  17. 三极管的检测及其管脚的判别
  18. #USACO#Island Travels
  19. 1×pbs缓冲液配方_【pbs缓冲液配制】动物细胞培养pbs缓冲液配制
  20. 解决api-ms-win-crt-runtimel1-1-0.dll缺失的方法 api-ms-win-crt-runtime-l1-1-0.dll是电脑系统重要组件,如果缺少会导致很多程序无法运行,

热门文章

  1. Apache中间件漏洞深析
  2. 解决Rancher2.5x版本突然无法使用(K3S证书过期大BUG)
  3. 洛谷 | P1226 【快速幂】
  4. SpringBoot 项目打成 .exe 程序,实战来了,超级详细!
  5. 半导体器件相关专业词汇积累ing
  6. 如果用SEO来优化好论坛,提高排名
  7. 进程学习:进程间通信(传统通信方式)1.无名管道
  8. 总分 Score Inflation(洛谷)
  9. 婚礼请柬邀请函电子版制作模板,520一起来参加婚礼吧!
  10. HTC使用官方固件作为底包制作rom卡刷包教程