linux5-网络

一、tcp/ip基础

    1、
        unix/linux就是网络的世界,网络的基础就是tcp/ip
        计算机间的交流,通过通讯协议,其中tcp/ip非常重要

        tcp:传输控制协议,
        ip:internt协议,
        tcp/ip是网络互联的标准,它不是1个独立的协议,而是一组协议(tcp,ip,udp,arp,rarp等协议)

        推荐看的书:
            思帝文思写的3本书(关于网络安全的书,网络黑客)
                TCP/IP详解:协议
                TCP/IP详解:实现
                TCP/IP详解:TCP事物协议 HTTP NNTP和UNIX协议 
    2、模型
        OSI与Tcp/ip参考模型
            应用层(application)        应用层(application)smtp,ftp,telnet 
            表现层(presention)     
            会话层(session)        
            传输层(transport)      传输层(transport),解释数据
            网络层(ip)             网络层(ip),定位ip地址和确定连接路径
            数据链路层(link)         数据链路层(link),与硬件驱动对话 
            物理层(physical)       

            OSI模型(理论上7层)        Tcp/ip模型(现实上4层)
    3、数据传输(以QQ为例)

        TCP/IP层         QQ1                                         QQ2
                        输入”你好“,并改送给QQ2                  你好

        应用层         app|你好                                  app|你好
        传输层         tcp|app|你好                              tcp|app|你好
        网络层         ip|tcp|app|你好                           ip|tcp|app|你好
        链路层         帧头|ip|tcp|app|你好|帧尾                 帧头|ip|tcp|app|你好|帧尾

        网卡              帧头|ip|tcp|app|你好|帧尾                 帧头|ip|tcp|app|你好|帧尾                     

        路由器..................................................       


        网关:(GETWAY)
            首先‘网关’一个大概念,不具体特指一类产品,只要连接两个不同的网络的设备都可以叫网关;
            而‘路由器’么一般特指能够实现路由寻找和转发的特定类产品,路由器很显然能够实现网关的功能。当然电信行业说的‘路由器’又和家用的‘路由器’两个概念,这个暂且不表。

            默认网关是什么,
                默认网关事实上不是一个产品而是一个网络层的概念,PC本身不具备路由寻址能力,所以PC要把所有的IP包发送到一个默认的中转地址上面进行转发,也就是默认网关。这个网关可以在路由器上,可以在三层交换机上,可以在防火墙上,可以在服务器上,所以和物理的设备无关。


        路由:(ROUTER)
            网关是默认的数据出口。
                如果你的数据不知道往哪里走的话,那么他会去默认网关那里报道。
            路由器包含许多这样的网关,其中之一是默认网关。也就是说数据到了路由器以后,如果不知道自己下一步该怎么走了,那么他会去默认网关那里去报道。
                    但路由器还包含许多其他的网关,
                        比如数据要去买饮料,那么路由器就送数据去小卖铺。
                        如果数据内急,那么路由器送数据去卫生间。
                    这种起点-终点的对应就叫路由(routing)。这也是路由器(router)名字的由来
    4、IP地址与包的路由传递

        1)IP地址:每个internet上的主机和路由器都有1个ip地址,32位,划分为a,b,c,d,e共5类
                网络号(网段号)+主机号
                假如网络号:用x表示
                    主机号:用y表示
                00000000.00000000.00000000.00000000     共32位
            2^10=1024
            2^9=512
            2^8=256
            2^7=128
            2^6=64
            2^5=32
            2^4=16
            2^3=8
            2^2=4
            2^1=2
            2^0=1

            a类:0xxxxxxx.yyyyyyyy.yyyyyyyy.yyyyyyyy      从00000001.00000000.00000000.00000000
                                                        至01111111.11111111.11111111.11111111
                    0|7位网络号|主机号                 1.0.0.0至127.255.255.255
            b类:10xxxxxx.xxxxxxxx.yyyyyyyy.yyyyyyyy
                    10|14位网络号|主机号                   128.0.0.0至191.255.255.255
            c类:110xxxxx.xxxxxxxx.xxxxxxxx.yyyyyyyy
                    110|21位网络号|主机号                  192.0.0.0至223.255.255.255

            d类:1110xxxx.xxxxxxxx.yyyyyyyy.yyyyyyyy
                    1110|多点播送地址                 224.0.0.0至239.255.255.255
            e类:11110xxx.yyyyyyyy.yyyyyyyy.yyyyyyyy
                    11110|留作将来用                 240.0.0.0至255.255.255.255

            速记,ABCDE类,0,10,110,1110,11110,
                ABCDE分为以1,128,192,224,240开始
        2)几个特殊的IP地址
            11111111.11111111.11111111.11111111     局域网广播
            网络号+主机号全是1                          对1个子网广播
                win下,使用以下命令对192.168网段所有主机发送“不要玩LOL”
                    netsend "不要玩LOL" 192.168.255.255 
            127+任意值(除去全0或全1)                    回路(本机)

        3)
            ip          32位,网络号+主机号
            子网掩码        通常是255.255.255.0
                                与ip进行and运算,结果就是网络号,主要是确定网络号,网段号,判断不同ip是否在同一网段
            广播地址            所描述的网段中最后1个主机ip地址+1,通常直接写x.x.x.255
            默认网关            所描述的网段中的1个特殊的ip地址,
                                些网段中所有主机,要访问网段外的ip,都要通过些网关,通常说的都是默认网关,也可以指定特有网关,当指定的网关不可用时,会指定默认网关

        
        netstat -anp|more   比较常用,全面
        netstat -n    查看所有连接情况  (以ip地址等数字形式,比较直观)
            netstat -a   查看所有连接情况   
            netstat -t   查看tcp连接情况  
            netstat -u   查看udp连接情况  
            netstat -l   查看处于监听状态的连接情况  
            netstat -s   统计协议所有连接信息
        netstat -r    查看网关,也就是查看路由
            route -n  查看网关,也就是查看路由
        netstat -i    查看系统的网络接口列表
            netstat -ie    查看系统的网络接口的地址信息(相当于ifconfig)

        ip addr     (centos7中)查看系统的网络接口的地址信息(相当于ifconfig),

二、linux网络环境配置

    网络连接:
        桥接
            允许客户机系统直接访问1个外部以太网网络,在外部网络中,客户机必须拥有自己的IP地址
            有独立的IP访问外部网络

            虚拟机同所有机器都能互访
        NAT
            允许客户机系统使用主机的IP地址访问主机电脑的拨号或外部以太网网络
            用主机的IP访问外部网络

            虚拟机可以访问主机和网络中的其它主机
        Host-only
            使用1个私有的的虚拟网络 将客户机系统与主机电脑蚝连接
            不能访问外部网络,只能和主机通信

    iptables -F                 关闭防火墙
    service network restart     重启网络服务

    1、第一种方法
        1)用root登陆,
            centos7:
                运行nmtui命令进入设置网络,对不同的网卡设置ip、子网掩码等
            centos7以前:
                setup命令设置   
        2)运行service network restart 重启网络服务,设置立马生效
            或运行/etc/rc.d/init.d/network restart命令后,设置立马生效
    2、第二种方法
        1)ifconfig 网卡名 x.x.x.x          对网卡的ip进行设置
        2)ifconfig 网卡名 network x.x.x.x  对子网掩码进行设置
        对广播地址和dns使用默认的
        注意:这种配置网络将立马生效,但是临时生效,重启后无效
    3、第三种方法
        1)修改/etc/sysconfig/network-scripts/ifcfg-网卡名   里面的值
        2)运行service network restart 重启网络服务,设置立马生效
            或运行/etc/rc.d/init.d/network restart命令后,设置立马生效
        这种方法是最底层的修改方法

    在linux中,所有的设备都是文件

    修改网络配置  cd /etc/sysconfig/network-scripts
    运行ls命令会看到 ifcfg-enp4s0(每台电脑都不一样,我安装的另一台就是ifcfg-eno1,前半部分ifcfg-en是不变的)然后运行
        vi ifcfg-enp4s0
        TYPE=Ethernet
        BOOTPROTO=dhcp(自动获取ip,none手动,static静态ip)
        DEFROUTE=yes
        PEERDNS=yes
        ...
        NAME=enp4s0
        ONBOOT=no(开机不启动)

        可以修改成
            BOOTPROTO=static
            ONBOOT=yes(开机启动)
            IPADDR=x.x.x.x(此处到DNS都是手动添加的,dhcp下就不用手动添加)
            NETMASK=255.255.255.0(B子网掩码)
            GATEWAY=192.168.1.1(网关,路由,也可设置其它)
            DNS1=192.168.1.1
            也可用谷歌的DNS,比较好记,如下
                DNS2=8.8.8.8或者
                DNS2=8.8.4.4
        查看DNS地址
            cat /etc/resolv.conf
                显示 nameserver 192.168.1.1
        重启网络
            systemctl restart network

                最好的办法就是使用两块网卡,nat(虚拟机访问互联网,使用10.0.2.x段)和host-only(虚拟机和主机互相通信,使用 192.168.56.x段),而virtualbox配置的网络的地方是:打开主机界,按Ctrl+G,然后network,就可以启用 vboxnet0了。 

                打开虚拟机的配置,在networking里面添加第二块网卡为host-only。 

                接下来在virtualbox中安装centos。 

                ping baidu,不通,需要在/etc/sysconfig/network-scripts/ifcfg-eth0中将ONBOOT="no"改为yes, 再添加BOOTPROTO="dhcp",保存,退出,重启。再ping 百度,通了。此时可以用命令route看一下,记录一下路由,如果后面出现不能上网,再用route看一下什么异常 

                再ping主机上的虚拟网卡192.168.56.1,发现也没有问题,是通的,但是主机访问不了虚拟机,这就头痛了,这个时候就要用到我们的第二块网卡host-only来完成主机对虚拟机的访问。操作如下: 

                在/etc/sysconfig/network-scripts/下面看有没有ifcfg-eth1文件,如果没有,将ifcfg-eth0复制一份,改名为ifcfg-eth1,然后将ONBOOT值改为yes,这里我设置成静态IP,配置如下: 

                BOOTPROTO=static    #获取IP的方式是dhcp或bootp自动获取,static是固定IP,none是手动 
                IPADDR=192.168.56.2 
                NETMASK=255.255.255.0 

                注意不能设置GATEWAY,原因: 
                linux双网卡默认路由问题 
                在 安装第二块网卡后出现无法上网问题,使用route发现是默认路由出现问题,经过多 发查证,才晓得原来linux在加载网卡配置文件的时候是先加载eth0,再加载eht1的,这样,如果eth1设置了gateway项,则会覆盖掉 eth0中的gateway设置,因此解决方法就是删除eth1的gateway设置 


    centos7 关闭SELINUX 防火墙
        关闭SELINUX
        vi /etc/selinux/config
        #SELINUX=enforcing #注释掉
        #SELINUXTYPE=targeted #注释掉
        SELINUX=disabled #增加
        :wq! #保存退出
        setenforce 0 #使配置立即生效

        selinux的使用(需深入)
            一、查看SELinux状态命令:
                1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态
                    SELinux status:                 enabled
                2、getenforce                 ##也可以用这个命令检查
            二、关闭SELinux方法:
                1、临时关闭(不用重启机器):
                    setenforce 0 #设置SELinux 成为permissive模式
                    setenforce 1 设置SELinux 成为enforcing模式
                2、修改配置文件需要重启机器:
                修改/etc/selinux/config 文件
                将SELINUX=enforcing改为SELINUX=disabled
                重启机器即可
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容