【树莓派】树莓派网络配置:静态IP、无线网络、服务等

时间:2023-03-09 14:44:31
【树莓派】树莓派网络配置:静态IP、无线网络、服务等

一.网络配置之静态IP:

树莓派的默认网络为:

haochuang@raspberrypi:~ $ vi /etc/network/interfaces
# interfaces() file used by ifup() and ifdown() # Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d auto lo
iface lo inet loopback iface eth0 inet manual allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

这个只要插上网线,即可自动获取到dhcp地址;

但如果需要设置为静态IP,则需要简单进行设置一下,如下操作:

haochuang@raspberrypi:~ $ vi /etc/dhcpcd.conf

......
nohook lookup-hostname interface eth0
static ip_address=192.168.21.103/
static routers=192.168.21.1
static domain_name_servers=61.134.1.4 218.30.19.40

设置完成之后,重启网络

haochuang@raspberrypi:~ $ sudo /etc/init.d/networking restart

二.配置无线网络:

cat /etc/network/interfaces

auto lo  

iface lo inet loopback
iface eth0 inet dhcp #allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "neu"
wpa-psk "lucifer_chn"

或者

# interfaces() file used by ifup() and ifdown()

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf' # Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d auto lo
iface lo inet loopback #iface eth0 inet manual
iface eth0 inet dhcp auto wlan0
allow-hotplug wlan0
#iface wlan0 inet manual
#iface wlan0 inet dhcp
# wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface wlan0 inet static
wpa-ssid "Chinanet"
wpa-psk "CTshi555666"
address 172.27.35.20
netmask 255.255.0.0
gateway 172.27.35.1 allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

检查 /etc/wpa_supplicant/wpa_supplicant.conf 文件:

country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config= network={
ssid="Chinanet"
psk="PWD-CTshi555666-passwd"
}

修改之后,重启即可;

补充:

配置无线动态IP:

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "name"
wpa-psk "passwd"

配置无线静态IP:

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
wpa-ssid "name"
wpa-psk "passwd"
address 192.168.11.80
netmask 255.255.255.0
gateway 192.168.11.1

三.增加用户的sudo权限:

为普通用户增加sudo权限的方法,同其他一样,需要修改visudo文件,如下;

haochuang@raspberrypi:~ $ sudo visudo

  GNU nano 2.2.                                                  File: /etc/sudoers.tmp                                                                                                            

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification
root ALL=(ALL:ALL) ALL
haochuang ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL # See sudoers() for more information on "#include" directives: #includedir /etc/sudoers.d pi ALL=(ALL) NOPASSWD: ALL [ Read lines ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell

增加其中标红的一行,并Ctrl+X,Yes保存退出;

三.增加自动启动服务:

1.编写自动启动脚本;

haochuang@raspberrypi:~ $ sudo cat /etc/init.d/osprey
#!/bin/sh
### BEGIN INIT INFO
# Provides: osprey
# Default-Start:
# Default-Stop:
# Required-Start: $local_fs
# Required-Stop:
# chkconfig:
# Short-Description: Start or stop the testapp App.
### END INIT INFO start(){
echo -e "\033[32m start testapp \033[0m"
cd /home/haochuang/webapp/testapp
su lifeccp -c "sh /home/haochuang/webapp/testapp/start --spring.profiles.active=test &"
} stop(){
echo -e "\033[32m stop osprey \033[0m"
pkill -f testapp app_pid=$(pgrep -f testapp)
if [ "${app_pid}" = "" ]; then
echo -e "\033[32m -=stop testapp finished=- \033[0m"
else
echo -e "\033[31m -=stop testapp failed=- \033[0m"
kill - "${app_pid}"
echo -e "\033[32m -=kill -9 testapp=- \033[0m"
fi
} case $ in
start)
start
;;
stop)
stop
;;
*)
echo -e "\033[32m Usage: $0 (start|stop) \033[0m"
;;
esac

注意上面脚本中的\033[0m,其实是在为服务控制指令加色,想了解详细,可参考后面"其他"的补充描述;

2.增加到 /etc/init.d中,并修改增加可执行权限;

chomd +x testapp

3.增加到启动项中

chkconfig add /etc/init.d/testapp

其他:

颜色特效控制:

printf("\033[1;33m Hello World. \033[0m \n");
颜色如下:
none = "\033[0m"
black = "\033[0;30m"
dark_gray = "\033[1;30m"
blue = "\033[0;34m"
light_blue = "\033[1;34m"
green = "\033[0;32m"
light_green -= "\033[1;32m"
cyan = "\033[0;36m"
light_cyan = "\033[1;36m"
red = "\033[0;31m"
light_red = "\033[1;31m"
purple = "\033[0;35m"
light_purple = "\033[1;35m"
brown = "\033[0;33m"
yellow = "\033[1;33m"
light_gray = "\033[0;37m"
white = "\033[1;37m"

字背景颜色范围: 40--49 字颜色: 30--39
40: 黑 30: 黑
41:红 31: 红
42:绿 32: 绿
43:黄 33: 黄
44:蓝 34: 蓝
45:紫 35: 紫
46:深绿 36: 深绿
47:白色 37: 白色

输出特效格式控制:

\033[0m 关闭所有属性
\033[1m 设置高亮度
\03[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \033[37m 设置前景色
\033[40m -- \033[47m 设置背景色

光标位置等的格式控制:

\033[nA 光标上移n行
\03[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\33[?25h 显示光标