Linux下的常用串口软件

个人感觉: screen比较常用, picocom比较好用, minicom比较一般

picocom /dev/ttyUSB0
screen /dev/ttyUSB0
minicom  /dev/ttyUSB0

Centos7安装dropbear(替换openssh-server服务)

centos7早前的版本内核kernel和glibc有ssh漏洞, 不需要密码直接可以进入服务器.

但总有一些人有奇怪的需求指定要低版本或者指定版本的, 然后自己又无视漏洞导致一堆问题又说服务器不稳定.

替换掉openssh-server后建议把kernel和glibc给升级一下.

yum install -y epel-release
yum install -y dropbear
systemctl enable dropbear
dropbearkey -t ecdsa -f /etc/dropbear/dropbear_ecdsa_host_key
echo "OPTIONS='-p 22'" >/etc/sysconfig/dropbear

这里默认的端口是22, 也可以改成你想要的端口.


手动启动一个临时的ssh服务端口

dropbear -p 2222

从2222端口连接进去后 停止sshd的服务,然后启动dropbear完成替代.

systemctl stop sshd
systemctl start dropbear

确认无误后可以禁用sshd自动启动

systemctl disable sshd


comware查看端口mac和端口信息

1、dis interface brief #显示端口详细信息 

<Quidway>dis interface brief

2、display mac-address #来查看端口下的MAC 

<Quidway>dis mac-address

3、display arp         #找IP对应的MAC,通过IP后面的端口号就可以知道二层某个端口下所连接的设备信息。 

<Quidway>dis arp


bird编译安装

centos8上epel源码仓只有2.0.8可以装,只能编译安装了

yum install -y flex bison readline-devel ncurses-devel flex make
wget https://bird.network.cz/download/bird-1.6.8.tar.gz -O - | tar xz
cd bird-1.6.8
./configure   --prefix=/   --bindir=/
make


juniper清除堆叠配置

cli下查看

show virtual-chassis

登陆ssh后把/config/vchassis/目录下的配置文件删除.

[email protected]:RE:0% cd /config/vchassis/
[email protected]:RE:0% ls
vc.db vc.param vc.tlv.db vc.tlv.db.0
[email protected]:RE:0% rm -rf ./*

阅读剩余部分...

centos8执行yum报错 unable to detect release version (use '--releasever' to specify release version)

解决办法

 yum install --releasever=8  centos-linux-release

阅读剩余部分...

id_rsa加密码和移除密码

记得先备份异地存储好原来的id_rsa

增加密码

openssl rsa -aes256 -in id_rsa -out encrypted.id_rsa

移除密码

openssl rsa -in encrypted.id_rsa -out unencrypted.id_rsa


id_rsa文件需要400的权限, 否则不能使用.


centos7安装wireguard组建内网

系统:centos7.x

内核要求:>3.10 (uname -r)

1.服务端安装(推荐linux)

以下三种方式,任选其一

Method 1: a signed module is available as built-in to CentOS's kernel-plus:

$ sudo yum install yum-utils epel-release
$ sudo yum-config-manager --setopt=centosplus.includepkgs=kernel-plus --enablerepo=centosplus --save
$ sudo sed -e 's/^DEFAULTKERNEL=kernel$/DEFAULTKERNEL=kernel-plus/' -i /etc/sysconfig/kernel
$ sudo yum install kernel-plus wireguard-tools
$ sudo reboot

Method 2: users wishing to stick with the standard kernel may use ELRepo's pre-built module:

$ sudo yum install epel-release elrepo-release
$ sudo yum install yum-plugin-elrepo
$ sudo yum install kmod-wireguard wireguard-tools

Method 3: users running non-standard kernels may wish to use the DKMS package instead:

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
$ sudo yum install wireguard-dkms wireguard-tools

阅读剩余部分...

Megacli常用命令

从毛子网站上cpopy过来的

https://wiki.colobridge.net/%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D0%B5/%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%8B/%D1%88%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B0_%D0%BF%D0%BE_megacli

阅读剩余部分...

树莓派 vcgencmd 常用命令查看硬件状态

几个常用的命令:

1、查看时钟频率,可查看 arm, core, h264, isp, v3d, uart, pwm, emmc, pixel, vec, hdmi, dpi 的频率

vcgencmd measure_clock <clock>

例如:

[email protected]:~ $ vcgencmd measure_clock arm
frequency(45)=600000000
[email protected]:~ $ vcgencmd measure_clock core
frequency(1)=250000000

2、查看硬件电压,可查看core, sdram_c, sdram_p 的电压

vcgencmd measure_volts <id>

例如:

[email protected]:~ $ vcgencmd measure_volts core
volt=1.2000V
[email protected]:~ $ vcgencmd measure_volts sdram_c
volt=1.2500V

3、查看 BCM2835 Soc 温度

vcgencmd measure_temp

阅读剩余部分...

wpa_supplicant及wpa_cli使用方法

wpa_supplicant是一个连接、配置WIFI的工具,它主要包含wpa_supplicantwpa_cli两个程序。通常情况下,可以通过wpa_cli来进行WIFI的配置与连接,如果有特殊的需要,可以编写应用程序直接调用wpa_supplicant的接口直接开发。

阅读剩余部分...

openssh-client登陆服务器指定出口IP

ssh [email protected]服务器IP地址 -p服务器端口号  -b  本地IP地址

多个网卡的情况下,需要走不同的网关出去, 以及白名单限制IP的情况, 指定连接IP可以省下麻烦的配置更改问题.

阅读剩余部分...

socat内网穿透

公网端:

 socat TCP4-LISTEN:转发端口 TCP4-LISTEN:公网服务端口

内网端:

socat TCP4:公网IP:转发端口 TCP4:127.0.0.1:内网服务端口


例如内网22端口, 公网转发端口 3333, 转发端口3334(公网IP接收内网IP数据的端口) 

这时候连接方法 就是 ssh [email protected]公网IP -p 3333  就连接上了内网服务器的22端口.

通俗讲就是:  内网机器通过公网IP的3333端口进行握手连接通信, 客户端透过公网的3333端口桥接到了内网机器的22端口.


PS:这里的内网指的是靠nat联网没有独立IP的网络设备.

socat虽然简单, 但握手中断后无法自动重新连接, 仅用于临时或者两端有监控脚本的运行方式能应急使用.




Zero-w单网口扩展板体验

最近在弄树莓派内网透传串口的解决方案.

成本列表: Zero-w是找基友白piao的, Mcuzone 单网口网络扩展板(扩展板49.99,CNC外壳50).


到手使用体验效果一般, 扩展板挺好的,,顶针的供电和通信的设计把zero-w用螺丝固定上去就可以了.

扩展板的tpye-c供电也非常不错, 方便不用准备一堆的线束.

3个USB-A口, 1一个10/100Mbps的RJ45口.


两micro-usb+一个tpye-c的供电口, 可以实现不断电切换和外挂 充电宝方案, 这个比较实在.


50块钱的壳子比较掉价, 设计上比较欠缺, 8颗螺丝忒长了, 两面的挡板全是毛刺, 直接买亚克力的就行了.

装机运行后SOC温度在50左右.(没有散热风扇也没有加散热片)

目前先搞系统配置方案, 后期购入 Zero 4GLTE CAT1的扩展板再折腾下.

阅读剩余部分...

Raspberry Pi 无线网络透传部署(未完待续)

sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g'  /etc/sysctl.conf
sysctl -p

apt -y install mtr tcpdump iftop kpartx ipmitool dnsutils ddrescue autossh whois unzip wget  vim-conque  golang  git htpdate 

cd /tmp
wget -c  https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_arm.tar.gz  -O -| tar xz
cd frp_0.36.2_linux_arm
mkdir /etc/frp
sed  -i 's/network.target/network.target ntpdate.service/g' systemd/frp{c,s}.service
install frp{c,s} /usr/bin/
install systemd/frp{c,s}.service /usr/lib/systemd/system/
install frp{c,s}.ini  /etc/frp/
systemctl daemon-reload
systemctl enable frpc.service
systemctl start frpc.service
systemctl status frpc.service

frpc.ini配置为默认.




附:

Nginx的stream四层转发串口方案

stream {
server {
        listen  3501;
        proxy_connect_timeout 15s;
        proxy_timeout 30s;
        proxy_pass unix:/dev/ttyUSB0;
        #allow 333.333.333.0/24;  #白名单IP段
        #deny all;
    }
server {
        listen  3502;
        proxy_connect_timeout 15s;
        proxy_timeout 30s;
        proxy_pass unix:/dev/ttyUSB1;
        #allow 333.333.333.0/24;  #白名单IP段
        #deny all;
    }
 }


通过frp可以直接把串口丢到公网上去, 直接用telnet登陆进入串口.

telnet 公网IP 端口



frp和nginx主要做转发方案,  其他的还有隧道内网方案, 但基于没有独立IP的情况涉及第三方服务器服务, 像wireguard/ZeroTier/花生壳/蒲公英等等, 由于精力有限这里就暂时不涉及了. .




本文为草稿, 未完待续.