2019-08-30 14:10:47 anny0001 阅读数 55
  • 第09章-局域网技术

    本课内容如下: 1 局域网概述 2 局域网拓扑结构 3 标准以太网(10Base以太网) 4 以太网 5 交换式以太网 6 千兆以太网 7 无线局域网 8 令牌环网 9 FDDI工作机制 10 局域网常见的技术

    2227 人正在学习 去看看 深博

一.初衷

一个在家里放服务器搞量化投资的个人玩家,必须得实现内网穿透实现实时监控.
(想从任何地点都能访问你的任何主机)

二.前奏

  1. 买一个公网ip的主机(我买的是阿里云的,为了防止我这是做广告,请买别的服务器),获得公网主机ip: x.x.x.公
  2. 一台局域网主机,ip: x.x.x.私
  3. 下载好frp. 地址
    https://github.com/fatedier/frp
    从release中找到适合的版本,最好别自己编译(费时费力)

三.做法:

公网主机端(frp服务端)

tar zxvf frp-xxx.tar.gz 
cd frp-xxx
vim frps.ini

修改frps.ini文件

# frps.ini
[common]
bind_port = 7000  # 这个是公网服务器的端口,我购买的是阿里云的服务器,其安全策略里面得设置开放此端口

下面这几句是重启主机的时候自启动监脚本,centos是/etc/rc.d/local ,ubuntu 是/etc/rc.local

chmod +x /etc/rc.d/rc.local  #centos玩家要在终端输入这句
# rc.local
./xxx/frp_xxx/frps -c ./xxx/frp_xxx/frps.ini&     # /xxx/frp_xxx/是你下载的frp解压后文件的绝对路径

搞定后重启公网服务器,
查看后台程序是否有 frp字样的pid

ps -aux | grep frp

有frps就设置成功了

局域网主机(frp客户端,我们要连接实现实时监控的服务器)

局域网主机与公网主机系统一样的话,下载文件与 二.3 中的一样.
否则选择你对应系统的版本

tar zxvf frp-xxx.tar.gz 
cd frp-xxx
vim frpc.ini

修改frpc.ini文件

# frpc.ini
[common]
server_addr = x.x.x.公
server_port = 7000  # 在公网开放的端口

[ssh]
type = tcp
local_ip = 127.0.0.1  #不用管,除非你有特别需求
local_port = 22  #不用管,除非你有特别需求
remote_port = 6000   # 这个是公网服务器的端口,安全策略里面也得设置开放此端口

下面这几句是重启主机的时候自启动监脚本,centos是/etc/rc.d/local ,ubuntu 是/etc/rc.local

chmod +x /etc/rc.d/rc.local  #ubuntu系统不用在终端输入这句
# rc.local
./xxx/frp_xxx/frpc -c ./xxx/frp_xxx/frpc.ini&     # /xxx/frp_xxx/是你下载的frp解压后文件的绝对路径

搞定后重启内网服务器,
查看后台程序是否有 frp字样的pid

ps -aux | grep frp

有就启动成功了

ssh连接看是否成功

从任一一台主机或者你能上网的手机:
ssh -oPort=6000 内网的用户名@x.x.x.公
连上就成功了.

2020-03-09 12:13:59 sk1070774991 阅读数 30
  • 第09章-局域网技术

    本课内容如下: 1 局域网概述 2 局域网拓扑结构 3 标准以太网(10Base以太网) 4 以太网 5 交换式以太网 6 千兆以太网 7 无线局域网 8 令牌环网 9 FDDI工作机制 10 局域网常见的技术

    2227 人正在学习 去看看 深博

最近尝试在VirtualBox的Centos7虚拟机中部署Web应用,部署后发现只有主机能够访问,局域网内其他设备都不能访问。经过一番折腾,面临了一些坑,终于解决了这个问题。只是在此提下我个人所遇到的问题以及解题思路,以供参考。

问题排查:

  1. 将虚拟机中的war包以及Tomcat/conf/server.xml拷贝到主机,在主机中运行,发现局域网内设备都能访问。排除主机与局域网的连接问题以及Tomcat的配置问题。
  2. 尝试在Centos中ping主机,发现可以ping通。主机ping虚拟机也可以ping通,可以判断主机与虚拟机的连接没有问题。
  3. 尝试用虚拟机ping局域网内其他机器没有问题,再用局域网内机器ping虚拟机发现不能ping通。最后发现是VirtualBox选用的网络连接方式不对。一直以来使用的NAT网络进行的连接,虽然能访问外网,但是网络与局域网内其他机器并不互通。

问题原由: NAT网络连接的虚拟机只能保证与主机的连接,不能与局域网内其他设备连通。需要改成桥接网络的连接方式。

解决办法:
一、修改VirtualBox的网络为桥接网络,作如下配置:
1.VirtualBox的虚拟机网络设置:
VirtualBox的虚拟机网络设置
这一步,我遇到一个坑: 桥接网卡的“界面名称”不能选择网卡,显示灰色无法指定(没有此问题的直接跳过这一步)。
解决办法:
*1.1:给连接外网的网卡安装VirtualBox的服务驱动,右击“属性”
在这里插入图片描述
*1.2:选择“服务”
在这里插入图片描述
*1.3: 选择从磁盘安装VirtualBox的驱动,驱动在VirtualBox安装路径的drivers\network\netlwf中
在这里插入图片描述
*1.4: 选中下面inf文件一路确定安装就完成了
在这里插入图片描述
*1.5: 出现这个驱动代表OK
在这里插入图片描述
2. VirtualBox-Host-Only Network网络适配器的Ip设置:
在这里插入图片描述
需要保证这个适配器的Ip与正在上网网卡的Ip在同一区间。(如图都是192.168.56开头)

二、打开虚拟机Centos设置网卡的Ip
1.查看当前网卡的device名,UUID

nmcli con show

如果NetworkManager未运行,先启动一下

systemctl start NetworkManager

如图,我的device name是enp0s8
在这里插入图片描述
2.配置网卡enp0s8信息

cd /etc/sysconfig/network-srcipts/
vi ifcfg-enp0s8

插入以下配置,根据自己的device和UUID进行调整,保证NAME与DEVICE一致

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s8"
UUID="65618e35-509a-3871-96e0-69f4043a2526"
DEVICE="enp0s8"
ONBOOT="yes"
IPADDR="192.168.56.20"
GATEWAY="192.168.56.1"
NETMASK="255.255.255.0"
DNS1="192.168.56.1"

上面是static ip的配置。如果使用dhcp,ip地址会经常变动,以后使用会比较麻烦。在此也列出dhcp的配置:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s8"
UUID="65618e35-509a-3871-96e0-69f4043a2526"
DEVICE="enp0s8"
ONBOOT="yes"

3.重启network

systemctl restart network

执行成功的话,至此所有配置已经完成了。
ip addr 查看当前Ip是否与配置文件的Ip一致:
在这里插入图片描述
ping -c 6 www.baidu.com 再ping下baidu能否ping通:
在这里插入图片描述
最后使用局域网内机器ping虚拟机应该也没问题了。

但是我在此遇到了一个坑:network重启失败
Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details.
在这里插入图片描述
systemctl status network.service -l 查看错误信息,找到了:

Failed to start LSB: Bring up/down networking.

但是错误原因还是不明。

cat /var/log/messages | grep network 获取更多信息,发现:
在这里插入图片描述
原来是,我之前使用的NAT网络配置的enp0s3网卡已经不存在了,但是/etc/sysconfig/network-srcipts/内的网卡配置文件并没有删除。
mv ifcfg-enp0s3 /home/ifcfg_backup/ 将原来的配置文件移动到其他目录。

这里还有一个注意点: /etc/sysconfig/network-srcipts/下不能保存任何其他的ifcfg-enp0sxx文件,不管加什么后缀(.bk, .static, …)都不行,因为在network初始化时都会被检测到。
再次重启network: systemctl restart network, 竟然还是出错:
在这里插入图片描述
cat /var/log/messages | grep network 再次查看原因:
在这里插入图片描述
ps -ef | grep dhclient 找到dhclient这个进程
进程pid应该跟图中的15337是一致的。
直接kill -9 15337杀死进程
再次重启network: systemctl restart network成功!

这里如果遇到其他network问题,也可以执行cat /var/log/messages | grep network。根据自己的错误信息依次解决。

2019-12-15 15:16:41 sinat_35456607 阅读数 24
  • 第09章-局域网技术

    本课内容如下: 1 局域网概述 2 局域网拓扑结构 3 标准以太网(10Base以太网) 4 以太网 5 交换式以太网 6 千兆以太网 7 无线局域网 8 令牌环网 9 FDDI工作机制 10 局域网常见的技术

    2227 人正在学习 去看看 深博

Linux本地系统安装(三)外网访问另外一台电脑上的虚拟机Linux

如果需要非局域网的情况下访问到虚拟机,就需要虚拟机有外网访问功能

利用第三方软件来开通虚拟机外网访问

这个时候需要用到花生壳软件 来帮助我们实现这个功能。

  • 先在虚拟机上访问官网,并根据安装的linux环境,下载 花生壳软件

    在这里插入图片描述

  • 并注册花生壳的个人用户账号。

  • 在虚拟机中安装花生壳并启动

    • cd Downloads
    • sudo dpkg -i phddns_3.0_x86_64.ded 安装
    • phddns start 启动花生壳
    • sudo phddns start 查看软件状态,这个时候可以看到有个sn码,这个需要复制下来,待会用得到
  • 进入花生壳官网并登陆,然后选择添加账号,将刚才复制的sn码
    在这里插入图片描述

  • 点击这个新增的设备,开始设置内网穿透

  • 点击新增
    在这里插入图片描述

  • 设置
    在这里插入图片描述

  • 内网端口设置为 22,内网主机为 在linux机器上ifconfig拿到的

  • 确认之后,利用域名以及分配的端口即可通过xshell外网联入虚拟机

  • 参考1

  • 参考2

2012-11-20 11:20:15 xtx1990 阅读数 3181
  • 第09章-局域网技术

    本课内容如下: 1 局域网概述 2 局域网拓扑结构 3 标准以太网(10Base以太网) 4 以太网 5 交换式以太网 6 千兆以太网 7 无线局域网 8 令牌环网 9 FDDI工作机制 10 局域网常见的技术

    2227 人正在学习 去看看 深博

Bluetooth 个人区域网 (PAN) 是一种技术,可让您在移动计算机、移动电话以及手持设备之间创建使用无线链接的以太网网络。可以连接到以下类型的启用 Bluetooth 且使用 PAN 的设备:个人区域网用户 (PANU) 设备、小组临时网络 (GN) 设备或网络访问点 (NAP) 设备。

以下是有关每种设备功能的详细信息:

  • PANU 设备。 连接到启用 Bluetooth 的 PANU 设备会创建包括计算机与该设备的临时网络。

  • GN 设备。 连接到启用 Bluetooth 的 GN 设备会创建一个临时网络,该网络包括计算机、GN 设备以及其他任何连接到相同 GN 设备的 PANU 设备。

  • NAP 设备。 连接到启用 Bluetooth 的 NAP 设备可让您将计算机连接到更大的网络,如家庭网络、公司网络或 Internet。

    注意

    • 有些移动电话和个人数字助理 (PDA) 只使用拨号网络,有些设备只使用 PAN,而有些设备则同时使用这两种服务。若要找到启用 Bluetooth 的设备使用何种服务,请查看与该设备一起提供的信息。

      最近公司要在网络测试设备A上实现蓝牙个人局域网PAN。也就是通过pc机上接个usb的蓝牙,连接到A设备上后要求pc机能和A在一个网络里,所有在测试时,如果能够ping基本就没问题了。

      下面是A设备上的蓝牙配置:

      /etc/bluetooth>ls -R
      .:
      hcid.conf    pan          pin          rfcomm.conf
      
      ./pan:
      dev-up       udhcpd.conf
      /etc/bluetooth>

      上面是目录结构。

      由于之前已经支持蓝牙功能,我只是在该目录下添加了别人给的pan目录,下面依次把每个文件的内容贴出来,

      首先是hcid.conf文件内容:

      
      
      
      
      #                                                                               
      # HCI daemon configuration file.                                                
      #                                                                               
                                                                                      
      # HCId options                                                                  
      options {                                                                       
              # Automatically initialize new devices                                  
              autoinit no;                                                            
                                                                                      
              # Security Manager mode                                                 
              #   none - Security manager disabled                                    
              #   auto - Use local PIN for incoming connections                       
              #   user - Always ask user for a PIN                                    
              #                                                                       
              security auto;                                                          
                                                                                      
              # Pairing mode                                                          
              #   none  - Pairing disabled                                            
              #   multi - Allow pairing with already paired devices                   
              #   once  - Pair once and deny successive attempts                      
              pairing multi;                                                          
                                                                                      
              # PIN helper   
              pin_helper /usr/local/sbin/btpin_helper.sh;                             
                                                                                      
              # D-Bus PIN helper                                                      
              #dbus_pin_helper;                                                       
      }                                                                               
                                                                                      
      # Default settings for HCI devices                                              
      device {                                                                        
              # Local device name                                                     
              #   %d - device id                                                      
              #   %h - host name                                                      
              name "BlueZ (%d)";                                                      
                                                                                      
              # Local device class                                                    
              class 0x3e0100;                                                         
                                                                                      
              # Default packet type                                                   
              #pkt_type DH1,DM1,HV1;                                                  
                                                                                      
              # Inquiry and Page scan                                                 
              iscan enable; pscan enable;                                             
                                                                                      
              # Default link mode     
      
              #   none   - no specific policy                                         
              #   accept - always accept incoming connections                         
              #   master - become master on incoming connections,                     
              #            deny role switch on outgoing connections                   
              lm accept;                                                              
                                                                                      
              # Default link policy                                                   
              #   none    - no specific policy                                        
              #   rswitch - allow role switch                                         
              #   hold    - allow hold mode                                           
              #   sniff   - allow sniff mode                                          
              #   park    - allow park mode                                           
              lp rswitch,hold,sniff,park;                                             
                                                                                      
              # Authentication and Encryption (Security Mode 3)                       
              auth enable;                                                            
              encrypt enable;                                                         
      }      
      

      下面是pin文件里的内容:

      789

      下面是rfcomm.conf文件内容:

      # RFCOMM configuration file.
      #
      
      rfcomm0 {
              # Automatically bind the device at startup
              bind no;
      
              # Bluetooth address of the device
              device 11:22:33:44:55:66;
      
              # RFCOMM channel for the connection
              channel 1;
      
              # Description of the connection
              comment "Example Bluetooth device";
      }
      ~
      下面是dev-up文件内容:

      #!/bin/sh
      ifconfig $1 10.0.10.1
      udhcpd /etc/bluetooth/pan/udhcpd.conf
      下面是udhcpd.conf文件内容:

      start           10.0.10.2       #default: 192.168.0.20
      end             10.0.10.100     #default: 192.168.0.254
      interface       bnep0           #default: eth0
      
      opt     dns     10.0.10.1 192.168.48.10                                         
      option  subnet  255.255.255.0                                                   
      opt     router  10.0.10.1                                                       
      opt     wins    10.0.10.10                                                      
      option  dns     129.219.13.81   # appened to above DNS servers for a total of 3 
      option  domain  local                                                           
      option  lease   864000          # 10 days of seconds  
      
      当pc机连接上A设备是,A设备会增加一个虚拟网卡bnep0。

      根据ubuntu10.04版本下/etc/bluetooth/network.conf文件的介绍:

      [General]
      
      # Disable link encryption: default=false
      #DisableSecurity=true
      
      [PANU Role]
      
      # Network interface name for PANU for connections. default:bnep%d
      # (up to 16 characters)
      #Interface=
      
      # PAN user connection interface up script. default:none
      Script=avahi-autoipd
      
      [GN Role]
      
      # Network Interface name for Group Network server. default:pan0
      #Interface=
      
      # Group Network connection interface up script. default:none
      Script=avahi-autoipd
      
      [NAP Role]
      
      # Network Interface name for Network Access Point server. default:pan1
      #Interface=
      
      # Network Access Point connection interface up script. default:none
      Script=dhclient
      

      这里使用到的角色应该是 PANU Role。不过我也管不了那么多了,反正pc和A设备在一个网络,ping通也没问题就可以了。
    linux下比较有名的蓝牙开发库BlueZ,安装如下:
    sudo apt-get install libbluetooth-dev 
    主要有下几个文件:
    bluetooth.h  bnep.h  cmtp.h  hci.h  hci_lib.h  hidp.h  l2cap.h  rfcomm.h  sco.h  sdp.h  sdp_lib.h
    编译时加入 -lbluetooth 
    下面的地址有些使用例子:
    http://bbs.chinaunix.net/thread-2013602-1-1.html
2020-03-25 21:26:51 weixin_45481406 阅读数 50
  • 第09章-局域网技术

    本课内容如下: 1 局域网概述 2 局域网拓扑结构 3 标准以太网(10Base以太网) 4 以太网 5 交换式以太网 6 千兆以太网 7 无线局域网 8 令牌环网 9 FDDI工作机制 10 局域网常见的技术

    2227 人正在学习 去看看 深博

上一篇文章讲了安装deepin系统,添加了一些常用的指令软件集,并且能在局域网内通过xshell软件连接Linux客户机。那作为个人开发使用的Linux工作站,不肯能随时将电脑带在身边,所以本篇将讲述将Linux客户机部署在有网络的地方,然后通过xshell远程访问
作为一个初级开发者兼兴趣爱好,小编是没有多少钱去购买专业的设备和软件,所以这里的客户机是我的一台闲置的电脑,软件使用的是oray的花生壳免费版,部署的网络是家用网络100M的电信,作为平常使用应该是足够的。话不多说,开始搞事情

1、首先的去oary官网下载花生壳软件,这里记得下载Linux版本的,除非你想在其他系统上装这个软件,下载地址这里我是在Windows电脑上下载的,通过rz命令上传到Linux指定的文件
在这里插入图片描述

2、上传到指定文件后,通过指令"dpkg -i + 软件名"安装软件,这里需要注意,必须使用超级用户权限的才能安装

sudo dpkg -i phddns_3.0_x86_64.deb

3、安装完成后,记得保存SN码,默认密码是admin,SN码在后面配置时需要,不能忘记了
在这里插入图片描述
4、安装完成后通过"phddns"查看扩展功能
在这里插入图片描述
phddns start:启动
phddns status:查看状态
phddns restart:重合
phddns reset:重置
phddns version:查看当前版本
安装后启动花生壳,需要管理员权限
在这里插入图片描述
5、花生壳启动成功后,在浏览器中配置内网穿刺映射
进入花生壳远程管理界面(地址)登录账号
SN码在安装成功后会显示给用户的
密码默认为admin
登录成功后根据提示去完成相应的要求
在这里插入图片描述
6、登录完成并且设备激活后,新建新建一条映射,并填写对应的信息
在这里插入图片描述

7、完成后确定,oray会自动映射并生成一个访问路径,注意访问路径中的后面五位数是随机生成的端口,在xshell连接时通过这个端口去连接
在这里插入图片描述

8、映射文件创建好了,现在就需要通过xshell软件去连接了,通过访问地址和生成的随机端口去远程连接Linux客户机
在这里插入图片描述
在这里插入图片描述

至此,整个配置就算完成了,可以在外网下远程访问家里面的Linux客户机了,提供一个官方给的花生壳安装教程(链接)
deepin自带的桌面系统,也可以通过双击安装包进行安装,但是那样安装就没啥技术可言了,对于开发者,还是要使用命令更加装13…

补充

不知道为啥,我挂载的硬盘每次重启电脑后要输入密码进入界面才能自动挂载,暂时还没找到解决办法,所以这里提供一个远程桌面控制软件的教程—向日葵控制软件,这个软件可以直接远程操作电脑

首先的下载一个Linux版本的(地址),选择Linux进行下载,应用平台根据自己安装的系统选择

下载完成后,我现在是通过局域网连接的,所以通过rz指令上传到客户机,准备安装(deepin的桌面系统,可以通过双击安装包运行,这里只提供命令安装)

进入到文件的目录,通过"sudo dpkg -i 文件名.deb"安装,如果安装出错,请参考官方文档(地址),这里不再一一说明了
安装成功后,在系统中就能看到向日葵的图标了,双击运行(这个软件好像只能在桌面系统运行啊),剩下的就在桌面运行了,这里就不在演示了。。。

2020年3月25日更新

关于挂载的硬盘每次重启电脑后要输入密码进入界面才能自动挂载的问题,请执行一下代码

# 设置开机自动挂载
# 编辑/etc/fstab文件
vim /etc/fstab
# 增加需要挂载的硬盘,中间使用tab键隔开
#/dev/sdd        /media/soft     ext4    defaults        0       0
{设备,例如/dev/sdd} {路径} {硬盘格式} defaults 0 0

# 执行
# 这一步尤为关键,执行后没有报错,说明挂载成功,可以reboot
# 如果报错,禁止reboot,否则系统会一直启动失败,因为没有找到挂载的硬盘
mount -a
没有更多推荐了,返回首页