• 本地demo服务器搭建计划——(一)linux双系统安装&内网穿透


    由于工作之后一直用的笔记本,家里的台式机闲置了,正好拿来搭建个本地服务器。
    上拼多多买了两根160元16G的国产杂牌内存条,可惜不支持xmp,凑合用够了。

    安装linux系统步骤:

    • 第一步:分区。进磁盘管理,压缩卷,给linux系统腾出至少一块空闲的磁盘,有多个硬盘也一样
    • 第二步:下载centOS7镜像,想装Ubuntu的就下载Ubuntu镜像。官网估计龟速,建议到国内镜像下载,地址也贴出来了。
    • https://www.centos.org/download/
    • https://developer.aliyun.com/mirror/
    • https://mirrors.aliyun.com/centos/7/isos/x86_64/?spm=a2c6h.25603864.0.0.7d234511oITu0l
    • 第三步:使用UltralSO软件制作系统安装盘,把镜像写入u盘。
    • 用UltralSO打开下载的系统镜像文件,选择启动-写入系统映像,写入到你的u盘
    • 第四步:【可选】如果你的主板有secure boot选项,要先进BIOS关闭你主板的secure boot,还要将启动模式从UEFI改成legacy,具体操作可以百度主板型号+secure boot
    • 第五步:从U盘进安装界面(装过系统的应该都知道,重启时选择u盘启动)。注意这里有一个坑:如果你直接选择install CentOS 7进入安装,可能会出现Warning: dracut-initqueue timeout - starting timeout scripts.的警告,并且安装失败
    • 解决:等告警打印完,cd /dev ; ls 查看你的u盘对应哪个设备,一般是sdb4或者sdc4。然后重启,在安装界面按e进入编辑,修改第一行配置的设备为你查到的,如sdb4 linuxefi /image/pxebooot/vmlinuz inst.stage2=hd:/dev/sdb4 quiet,按Crtl+X进入安装
    • 第六步:安装linux系统没啥好说的,安装的时候有多个盘可以手动进行分配,多个盘需要增加group配置。
    • 第七步:安装好开机后,建议修改ip为静态ip,方便调试。
    • ip addr查看自己的网卡名,如ens33,vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改网卡配置,主要修改4项:dhcp->static ,添加ip mask gateway dns,参考原来dhcp的配置进行修改,dns通过cat /etc/resolv.conf 查看。修改后service network restart刷新配置,测试网络通不通。
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static					  # 修改为静态
    IPADDR="192.168.138.100"              # 设置的静态IP地址
    NETMASK="255.255.255.0"               # 子网掩码
    GATEWAY="192.168.138.2"               # 网关地址
    DNS1="192.168.138.2"                  # DNS服务器
    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=ens33
    UUID=afd0baa3-8bf4-4e26-8d20-5bc426b75fd6
    DEVICE=ens33
    ONBOOT=yes
    ZONE=public
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    内网穿透(云服务器+frp)

    内网穿透因为我有腾讯云服务器,所以用的是配置frp进行内网穿透。
    没有云服务器的一般用的是花生壳等工具,大部分需要收费,要么免费的不太稳定,延迟高。有公网需求的建议还是入手个试用的云服务器,或者搞个公网IP。

    这里我分享下frp的配置
    frp下载,
    github: https://github.com/fatedier/frp/releases
    wget https://github.com/fatedier/frp/releases/download/v0.34.0/frp_0.34.0_linux_amd64.tar.gz
    注意别下错版本了,arch命令可以看你的机子是arm还是x86的
    frp使用很简单,在云服务器启动server端 ./frps -c frps.ini
    在你的本地机子上启动client端 ./frpc -c frpc.ini

    主要关注配置文件的几个配置:安装包里有完整的配置可参考,分别是frps_full.ini、frpc_full.ini

    server端配置:

    bind_port:服务端监听的端口,建议使用lsof -i:7000命令查看你配置的端口有没有冲突
    dashboard_port:控制台监听的端口,你可以通过这个端口访问frps的控制台
    dashboard_user = admin 登录控制台的用户名密码,没啥说的
    dashboard_pwd = 123456
    token:客户端和服务端建立通信的凭证,要跟客户端一致
    log:日志的几个配置,没啥说的,非必须

    [common]
    bind_port = 7000
    dashboard_port = 7001
    token = 30$zvC6emSWFJBkubStm+5lW1v5ZE8bzhoI4W2GwYg4s4duFtF/mD1kRXXvygMOwww+0PVKA2jZrPV2/xa7WgqiHzm+3dseiAx+xLvS15xwXOd9Y2
    dashboard_user = admin
    dashboard_pwd = 123456
    log_file = /var/log/frp/frps/frps_info.log
    log_level = info
    log_max_days = 7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    client端配置:

    server_addr :云服务器公网ip
    server_port :server端frps监听的端口,记得在云服务器防火墙放行该端口
    token :跟server进行通信的凭证,要跟服务端一致
    后面的配置,就是跟服务器建立的端口映射,访问云服务器的remote_port就会给你转发到本地的local_port,同样记得在云服务器防火墙放行remote_port端口
    其实你可以不用建立这么多端口映射,建议可以在本地起一个nginx的方式,来进行反向代理。

    [common]
    server_addr = 124.223.11.11
    server_port = 7000
    token = 30$zvC6emSWFJBkubStm+5lW1v5ZE8bzhoI4W2GwYg4s4duFtF/mD1kRXXvygMOwww+0PVKA2jZrPV2/xa7WgqiHzm+3dseiAx+xLvS15xwXOd9Y2
    log_file = /var/log/frp/frpc/frpc_info.log
    log_level = info
    log_max_days = 7
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 7122
    
    [web01]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 80
    remote_port = 80
    
    [web02]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 443
    remote_port = 443
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    通过服务的方式启动frps/frpc

    通过服务的方式启动frps,就要添加service配置
    ps: 作为一个开发,没必要记这些命令和配置,了解即可。

    vim /lib/systemd/system/frps.service
    配置如下

    [Unit]
    Description=frps service
    After=network.target syslog.target
    Wants=network.target
    
    [Service]
    Type=simple
    #启动服务的命令(此处写你的frps的实际安装目录)
    ExecStart=/tools/frp/frps -c /tools/frp/frps.ini
    
    [Install]
    WantedBy=multi-user.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    保存后,就可以通过systemctl start frps命令启动frps服务,或者service frps start
    通过systemctl status frps查看服务状态
    systemctl enable frps,可以配置frps服务开机自启。
    同样,在本地服务器上添加frpc服务 vim /lib/systemd/system/frpc.service

    [Unit]
    Description=frpc service
    After=network.target syslog.target
    Wants=network.target
    
    [Service]
    Type=simple
    #启动服务的命令(此处写你的frpc的实际安装目录)
    ExecStart=/tools/frp/frpc -c /tools/frp/frpc.ini
    
    [Install]
    WantedBy=multi-user.target
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    拷贝加密U盘文件
    Django Form实现表单使用及应用场景
    java:监听器Listener
    3. 投票 案例项目(合集)
    杰发科技AC7801 —— __attribute__指定地址存储常量
    加州驾照笔试准备笔记
    PHP 数据类型转换学习资料
    【JavaScript】读懂JS中类的相关操作
    开源短剧付费变现小程序源码系统+在线开通会员+在线充值 带完整的搭建教程
    glibc2.35-通过tls_dtor_list劫持exit执行流程
  • 原文地址:https://blog.csdn.net/q863672107/article/details/127948119