2021. 6. 30. 11:54ㆍTESLA
사전 준비
- Raspberry Pi 3/4 : 내부서버
- Raspberry Pi Zero W : teslausb
- Micro SD : 라즈베리파이용
- LTE라우터
- 개인용 VPN Server
- VPN 접속용 client.ovpn
1. SD 카드 포맷 및 prebuild 이미지 설치
- SD Card Formatter
- Etcher
- TeslaUSB(GitHub)
prebuilt 이미지 설치 방법은 teslausb github 참조
2. setup telsausb config
file : teslausb_setup_variables.conf
아래의 설정은 본인의 환경 구성에 맞추어 작성
Wifi 설정
export SSID export WIFIPASSWORD
SAMBA 공유 설정
export SAMBA_ENABLED export SAMBA_GUEST
TIMEZONE 설정
export TIME_ZONE
Tesla API 설정
export TESLA_EMAIL export TESLA_PASSWORD export TESLA_NAME export TESLA_VIN
/root 사이즈 설정
export INCREASE_ROOT_SIZE
file : wpa_supplicant.conf
이 외에도 필요한 설정은 prebuilt 이미지에 동봉된 teslausb_setup_variables.conf.sample 참고
3. TeslaUSB 부팅 및 환경 구성
1) 기본 환경구성
change password
$ sudo -i $ passwd pi
필요한 SW 설치(ex. ftp, openvpn, etc...)
$ apt install vsftp $ apt install openvpn
기본 config 구성
/etc/vsftpd.conf
write_enable=YES chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
/etc/vsftpd.chroot_list
pi
/etc/openvpn/client.ovpn
``` auth-user-pass /etc/openvpn/login askpass /etc/openvpn/pass ```
/etc/openvpn/login
username password
/etc/openvpn/pass
private key password
openvpn 접속 테스트
openvpn --config /etc/openvpn/client.ovpn
패스워드 입력 없이 접속이 잘 되는 경우 원격 접속을 위한 기본설정 완료
두번째 부팅 이후 혹은 setup-teslausb 이 실행된 이후에는
/, /boot filesystem의 write 권한이 제거되기 때문에
/root/bin/remountfs_rw 스크립트를 실행하여 write 권한 획득 후 system 수정 진행teslausb setup 스크립트 수행
$ /root/bin/setup-teslausb
2) OS 시작프로그램 등록
openvpn 연결을 위한 conf 확장자로 변경
mv client.ovpn client.conf
/etc/default/openvpn
```
AUTOSTART=username
```
$ systemctl enable openvpn
3) rc.local 등록 및 crontab 사용
- 위의 1)번 방식으로 VPN 자동 연결이 되지 않으면 아래의 방법을 사용
/etc/rc.local
crontab 추가
mkdir /mutable/crontabs chmod 1730 /mutable/crontabs echo '/mutable/crontabs /var/spool/cron/crontabs none defaults,bind 0 0' >> /etc/fstab mount -a
해당 과정 없이 crontab에 추가하는 경우 setup-teslausb 스크립트가 수행된 뒤
crontab 내용이 초기화되므로 주의
$ crontab -e
*/10 * * * * start_vpn.sh
10분마다 해당 스크립트 수행
start_vpn.sh
if [ `ifconfig |grep tun0 |wc -l` -eq 0 ] ; then
openvpn --config /etc/openvpn/client.ovpn &
fi
4. 참고사항
SSL handshake failed : 시스템 시간 확인
시간 동기화
$ /etc/init.d/ntp stop $ ntpd -q -g $ /etc/init.d/ntp start
/root/bin/setup-teslausb 수행 시 rc.local, crontab 등이 초기화 되므로
스크립트 수행 후에는 위의 변경 사항들을 다시한번 확인할 것
'TESLA' 카테고리의 다른 글
Teslamate 데이터 backup/restore (0) | 2022.06.16 |
---|