블로그 이미지
훅크선장

카테고리

분류 전체보기 (361)
사진이야기 (23)
펭귄컴퓨팅 (120)
컴퓨터보안 (84)
절름발이 프로그래머 (59)
하드웨어개조 (23)
멀알려줄까 (35)
홈베이킹&홈쿠킹 (2)
잡다한것들 (15)
Total
Today
Yesterday

달력

« » 2024.4
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 26 27
28 29 30

공지사항

태그목록

최근에 올라온 글

OpenWRT 18.06 버전에서 원격 관리 목적으로 SSH 포트를 하나 열어놓았더니, 온 세상에서 계속 로그인 시도를 합니다.

물론 당연히 패스워드 인증은 안하도록 설정되어 있지만, 그래도 너무 많은 시도가 있기에 그러한 무차별 대입 공격(Brute Force)를 어느정도 걸러내기 위하여, iptables 룰을 이용해보기도 하였습니다.

 

인터넷 검색을 통하면, 몇 개의 예제가 나오는데, iptables 버전이 업데이트 되면서, 몇 몇 키워드가 바뀌었습니다. 

특히 -m state, --state NEW 나 -m recent 옵션에서 에러가 나옵니다.

 

일단 -m recent 옵션을 쓰고 싶으면, kmod-ipt-conntrack-extra 와 iptables-mod-conntrack-extra 패키지가 설치되어 있어야 합니다.

다음, -m state 옵션은 -m conntrack 옵션으로 변경되었으며, --state 옵션은 --ctstate 옵션으로 이름이 변경되었습니다.

 

다음과 같은 방식으로 설정파일에 추가하면 됩니다.

※ 주의할 점은 외부에 포트를 열어주는 rule이 먼저 존재하고, 그 다음에 conntrack를 사용하는 rule 두 개를 추가해야 한다는 것입니다.

※ rule 중에서 연결을 ACCEPT 하는 유사한 설정이 두 개가 있다고 해서, 합쳐서 사용할 수 없습니다. 하나는 input 룰이고, 다른 하나는 forward 룰이기 때문인 것 같습니다. 둘이 합치게 되면, 그냥  forward 룰만 남기 때문에, input 룰이 없어서 아예 접속이 안됩니다.

 

config rule
        option target 'ACCEPT'
        option src 'wan'
        option dest_port '22'
        option name 'Allow-SSH'
        option proto 'tcp'

config rule
        option target 'ACCEPT'
        option src 'wan'
        option dest '*'
        option dest_port '22'
        option name 'SSH_CheckAccept'
        option proto 'tcp'
        option family 'ipv4'
        option extra '-m conntrack --ctstate NEW -m recent --set --name SSH --rsource'

config rule
        option src 'wan'
        option name 'SSH_CheckDrop'
        option family 'ipv4'
        option proto 'tcp'
        option dest '*'
        option dest_port '22'
        option target 'DROP'
        option extra '-m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 3 --name SSH --rttl --rsource'

 

위의 세 개 룰을 그대로 쓰셔도 됩니다. 만약  ssh 데몬 포트번호가 22번이 아니면, 그 포트번호만 고치면 바로 사용할 수 있습니다.

--name SSH 에서 SSH 라는 것은 룰셋의 이름으로 원하는 대로 바꿔서 쓰면 됩니다.

-seconds 60 --hitcount 3 부분이 중요한데, 이것은 60초 즉 1분 동안에 3번이상의 잘못된 로그인 시도가 이루어지면, 그 IP에서는 더이상 네트워크로 접근하지 못하도록 한다는 것입니다. 시간과 횟수를 잘 고려해서 설정하면 됩니다.

※ 요즘 SSH Brute Force의 양상을 보면, IP주소도 자주 바꾸고 로그인 시도도 꽤 긴 시간동안에 다시 하는 것 같아서, 설정시에 잘 고려해야 합니다. 제가 본 양상으로는 5분(300초)동안에 2번 이상의 잘못된 로그인 시도가 있으면, 바로 막는 것이 맞는 것 같았습니다.

 

참조 : https://www.rackaid.com/blog/how-to-block-ssh-brute-force-attacks/

 

Block SSH Brute Force Attacks with IPTables

Block ssh brute force attacks using some simple IPTables rules. This will rate-limit incoming SSH attacks and mitigate the brute force attack.

www.rackaid.com

Posted by 훅크선장
, |

https://medium.com/@cnnbysy/openwrt-18-06-1-%E9%85%8D%E7%BD%AE%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91-30e231958c38

 

openwrt 18.06.1 配置科学上网 - Shuyi Yuan - Medium

openwrt 安装不缀述,网上教程很多,可以刷在路由器上、小主机上、甚至VirtualBox的虚拟机里。本文假定openwrt已经设置好并上网,电脑连接路由器LAN口。

medium.com

Openwrt 18.06.1 configuration on the science network

Shuyi Yuan
Shuyi Yuan
Follow
Oct 19, 2018 · 4 min read

Openwrt installation is not described, there are many online tutorials, you can brush on the router, small host, and even VirtualBox virtual machine. This article assumes that openwrt is already set up and connected to the Internet, and the computer is connected to the LAN port of the router.

1. Install the shadowsocks-libev related package
Opkg update 
(multiple runs a few times, I have encountered the shadowsocks related package after the first update)
Opkg install shadowsocks-libev-config shadowsocks-libev-ss-local shadowsocks-libev-ss-redir shadowsocks-libev-ss-rules shadowsocks-libev-ss-tunnel luci-app-shadowsocks-libev

2. Basic configuration
Go to the openwrt web configuration interface and select Service->shadowsocks-libev

Click Remote Servers, which has configured a server sss0 by default, modify the address, port, password, encryption mode, and most importantly, remove the disabled hook and click the save&apply button.

Click Local Instances, click the Disabled button corresponding to the ss-local.cfgXXXXX (XXX is a random number) entry, change it to Enabled, and click Save & Apply. After the configuration save takes effect, the running state of the ss-local.cfgXXXX entry changes from no to yes. At this point, a SOCKS5 server is running on the router, port 1080. Set the proxy server of the computer browser to the router address, port 1080, try to access Google. If successful, the ss client works fine on openwrt.

Next, test the function of iptables+ss-redir automatic forwarding proxy (transparent proxy). In Local Instances, set ss-redir.hi to Enabled. Click Redir Rules, Disabled to remove it, click on Destination Settings, and dst default is changed from bypass to forward. Click Save&Apply to make the configuration take effect. Cancel the proxy settings of the computer browser, visit Google, if successful, the unconditional transparent proxy settings are successful. All packets are forwarded by the router to the ss server.

3. Advanced configuration
The last configured transparent proxy forwards all traffic to the remote SS server, which is obviously a waste of traffic, and the efficiency of domestic websites going abroad is very low. Therefore, we need to identify domestic and foreign traffic on the router and treat it differently.

1. First set dst forward in Destination Settings to bypass.

2. Change the opkg list update from http to https, http is not updated, maybe GFW is a ghost
Opkg install libustream-mbedtls (if the prompt is not found, opkg update runs a few more times)
Sed -i s/http:/https:/g /etc/opkg/distfeeds.conf
Opkg update

3. Install various dependencies
Opkg remove dnsmasq
Opkg install dnsmasq-full
Opkg install coreutils-base64 curl ca-certificates ca-bundle

4.
==================
Too many steps are too annoying, write a one-click script, and execute it:
Cd /tmp && opkg update && opkg install curl ca-bundle && curl -s -L https://github.com/ysy/ss/raw/master/openwrt_tproxy.tgz -ot.tgz && tar x -z -f t .tgz && cd openwrt_tproxy && ./setup.sh

Posted by 훅크선장
, |

https://joybean.org/2018/02/14/configure-router-for-transparent-proxy-by-using-openwrt-and-shadowsocks/

 

https://xuri.me/2015/09/04/shadowsocks-redsocks2-and-chinadns-on-openwrt.html

 

ShadowSocks, RedSocks2 and ChinaDNS on OpenWrt

In this post, I will set up Shadowsocks, RedSocks2 and ChinaDNS on OpenWrt, install PandoraBox on Xiaomi MiWiFi Mini. ShadowSocks A secure socks5 proxy, designed to protect your Internet traffic. Server side setup reference ShadowSocks Setup Guide. Officia

xuri.me

 

OpenWrt Shadowsocks 安装&配置指南 – 轻巧冲浪

简介 本文先介绍了 OpenWrt Shadowsocks 及其配套软件的逻辑架构,然后详细说明了它们的安装、配置过程,最终实现国内 IP 直连,其余走代理的黑名单规则透明翻墙路由器。 提示:要使用 GFWList 白名单规则(即仅被 GFW 封锁的流量走代理),请参阅:《OpenWrt Shadowsocks GFWlist 配置教程》。博主推荐使用本文所述的 CHNRoutes 黑名单规则,能够避免部分 GFWList 遗漏的网站无法访问,并且加速外网访问速度(依赖 Shadowsocks Server

alalin.me

OpenWrt Shadowsocks Installation & Configuration Guide.txt
0.01MB
Openwrt 18.06.1 configuration science online.txt
0.00MB

https://alalin.me/archives/805

 

 

 

 

OpenWrt Shadowsocks 安装&配置指南 – 轻巧冲浪

简介 本文先介绍了 OpenWrt Shadowsocks 及其配套软件的逻辑架构,然后详细说明了它们的安装、配置过程,最终实现国内 IP 直连,其余走代理的黑名单规则透明翻墙路由器。 提示:要使用 GFWList 白名单规则(即仅被 GFW 封锁的流量走代理),请参阅:《OpenWrt Shadowsocks GFWlist 配置教程》。博主推荐使用本文所述的 CHNRoutes 黑名单规则,能够避免部分 GFWList 遗漏的网站无法访问,并且加速外网访问速度(依赖 Shadowsocks Server

alalin.me

https://medium.com/@cnnbysy/openwrt-18-06-1-%E9%85%8D%E7%BD%AE%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91-30e231958c38

 

openwrt 18.06.1 配置科学上网

openwrt 安装不缀述,网上教程很多,可以刷在路由器上、小主机上、甚至VirtualBox的虚拟机里。本文假定openwrt已经设置好并上网,电脑连接路由器LAN口。

medium.com

https://github.com/yuyang226/ContactsWidgetICS/wiki/Configuring-OpenWRT-Shadowsocks-on-Netgear-R8000

 

yuyang226/ContactsWidgetICS

a contacts widget for Android 4.0 ICS(Ice Cream Sandwich) - yuyang226/ContactsWidgetICS

github.com

 

Posted by 훅크선장
, |

RHEL7 VNC Server 설정법을 설명합니다.
VNC user로 root, foobar 계정으로 세팅하는 법을 예로 들겠습니다.
과정 중에 프롬프트 표시가 "#", "$"의 차이가 있음에 유의하여 진행합니다.


1, 패키지 설치 & 시스템 방화벽 설정

# yum -y install tigervnc-server tigervnc

# firewall-cmd --permanent --zone=public --add-port 5901/tcp
# firewall-cmd --permanent --zone=public --add-port 5902/tcp
※ firewalld가 disabled 된 경우 skip

서버<->클라이언트 간 TCP 5901(root용), 5902(foobar용) 포트가 오픈되어야 합니다.
root 이외의 계정 n개를 vnc server 설정한다면 TCP 5901~(5901+n) 범위의 포트를 시스템 또는 네트워크 방화벽 open하여야 합니다.


2. VNC 액세스를 할 시스템 계정을 위한 VNC user 계정 생성 및 패스워드 설정

# useradd foobar
# passwd foobar


3. vncpassword 설정

3.1. root의 vncpassword 설정

# vncpasswd <-- root의 패스워드와는 달라도 상관 없습니다.

3.2. foobar 시스템 계정의 vncpassword 설정

# su - foobar
$ vncpasswd <-- 시스템 계정(foobar)의 패스워드와는 달라도 상관 없습니다.


4. foobar의 xtartup 파일 설정 및 퍼미션 변경
$ vim .vnc/xstartup
#!/bin/sh

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc

$ chmod 755 .vnc/xstartup


5.  VNC user를 위해 original VNC config 파일을 copy & edit
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service <-- root용
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service <-- foobar용


# vim /etc/systemd/system/vncserver@:1.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i  > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i -geometry 1280x1024"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i  > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

# vim /etc/systemd/system/vncserver@:2.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l foobar -c "/usr/bin/vncserver %i -geometry 1280x1024"
PIDFile=/home/foobar/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target



6. 설정을 reload
# systemctl daemon-reload


7. vnc service를 enable & start
# systemctl enable vncserver@:1.service
# systemctl enable vncserver@:2.service
# systemctl start vncserver@:1.service
# systemctl start vncserver@:2.service


방화벽 포트 오픈 반드시 필요
[root@localhost firewalld]# firewall-cmd --permanent --zone=public --add-port 5902/tcp
success
[root@localhost firewalld]# firewall-cmd --permanent --zone=public --add-port 5901/tcp
success
[root@localhost zones]# systemctl restart firewalld


8. vnc service에 의한 포트 listen 여부 확인(tcp 5901, 5902, 6001, 6002)
[root@localhost ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      2736/Xvnc
tcp        0      0 0.0.0.0:5902            0.0.0.0:*               LISTEN      2924/Xvnc
tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      2736/Xvnc
tcp        0      0 0.0.0.0:6002            0.0.0.0:*               LISTEN      2924/Xvnc
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      792/sshd
tcp6       0      0 :::6001                 :::*                    LISTEN      2736/Xvnc
tcp6       0      0 :::6002                 :::*                    LISTEN      2924/Xvnc
tcp6       0      0 :::22                   :::*                    LISTEN      792/sshd
[root@localhost ~]#


8. vnc 클라이언트로 접속

root -> IP ADDRESS:5901
foobar  -> IP ADDRESS:5902

Posted by 훅크선장
, |

VNC 프로세스가 구동하는 X 화면이 :1 :2 번이 아니라, :3 :4 번 또는 :5 :6 번으로 뜨는 문제

서버가 비정상 종료되는 경우에, TigerVNC와 X11의 임시파일들이 정상적으로 삭제되지 못하면서 생기는 문제로 판명

1. 기존 프로세스의 확인 작업

lsof -i
vncserver -list


2. 잘못된 VNC server 프로세스 종료

절대로 kill -9 [process number]를 사용하면 안된다. 새로운 프로세스가 바로 생성된다.

vncserver -kill :3
vncserver -kill :4
vncserver -kill :5
vncserver -kill :6

3. 임시파일들이 남아 있으면 삭제

ls -la /root/.vnc/
ls -la /home/bigdata/.vnc/

cd /root/.vnc/
cd /home/bigdata/.vnc

rm -f *.pid
rm -f *.log


ls -la /tmp/.X11-unix/
cd /tmp/.X11-unix/
rm -f X1
rm -f X2

4. VNC 재시작

systemctl start vncserver@:1
systemctl start vncserver@:2




rpm -qa
rpm -ql [package name]

yum list installed

Posted by 훅크선장
, |

Arduino Uno + gShield v5b Board + GRBL 1.1 


※ 모터 결선방법은 다음에 잘 나와있다.

  http://www.diymachining.com/diy-cnc-controller-how-to-setup-your-arduino-gshield/


내가 테스트하고 있는 사진과 영상에선 모터전원을 맨 왼쪽에 두고 보드를 보았을때,

왼쪽부터, 노랑 - 흰색 - 녹색 - 검정 순이다.

         B  - B' -  A' - A 순으로 된 것 같은데...

         

위 링크에서는 B' - B - A' - A 순 으로 결선하라고 되어 있다. 

그러면, 내 모터는  흰색 - 노랑 - 녹색 - 검정 인데, 이렇게 결선하면, 

Z축의 이동이 GRBL Controller 상에서 보이는 스위치와 상하 반대로 움직이던데???? (반드시 확인 필요!)

리미트 스위치는 어느 방향에 있어야 하는가? 시작점? 종료점?


X,Y,Z 축이 +와 - 일때, 움직여야 하는 방향은 어디쪽?  모터와 멀어지는 쪽? 모터와 가까워지는 쪽?

이 방향이 참 애매합니다!!!?? 확인하세요!!



1. grbl 다운로드

   2019년 2월 현재, grbl은 1.1 버전이 나와있으며,

   https://github.com/gnea/grbl/releases 에는 2017년 8월 1일부로 v1.1f 가 있다고 하나, 

   업데이트후에 확인해본 결과, 1.1g 버전으로 업데이트된 상황임.

    

   https://github.com/grbl/grbl 에서,

   우측편에 있는 “Clone or download”를 선택하여, zip 파일로 다운로드 받음.

   

   다운로드된 파일명은 grbl-master.zip 파일이며, 이 파일의 압축을 풀어준다.

   하위에 build, doc, grbl 디렉토리가 있다. 중요한 것은 grbl 디렉토리이다.


2. 아두이노 IDE 설치

   아두이노 IDE 최신버전을 설치하고, 

   https://www.arduino.cc/en/Main/Software 에서 다운로드, 2019년 2월 현재 최신버전은 1.8.8


※ 이미 다른 이전 버전의 grbl이 설치되어 있다면, 미리 제거해야 한다. (grbl 이라는 폴더 이름이 충돌하기 때문에...)   

   기존 설치된 라이브러리를 제거하려면,

   ~/Documents/Arduino/libraries 폴더로 이동한 다음에 해당 grbl 디렉토리를 삭제하고,

   Arduino IDE를 다시 시작하면, 해당 라이브러리가 없어진 것을 확인할 수 있다.

   (최상위 메뉴에서 “스케치” -> “라이브러리 포함하기” 에서 grbl 이름이 없는 것을 확인!)   

   

3. grbl 라이브러리 설치

   최상위 메뉴에서 “스케치” -> “라이브러리 포함하기” -> “ZIP 라이브러리 추가...” 를 선택

   파일선택 다이얼로그가 뜨면, 1번의 과정에서 확인된 grbl 디렉토리가 보이는 곳으로 이동하여, 

   grbl 디렉토리를 선택한 다음 “선택” 버튼 클릭


4. grbl 컴파일 및 업로드

   최상위 메뉴에서 “파일” -> “예제” 에서 아래쪽 “사용자 지정 라이브러리의 예제”쪽에 있는 

   “grbl” -> “grblUpload” 를 선택하면, 파일이 열립니다.

   

   다시, 최상위 메뉴에서 “툴” -> “보드” -> “Arduino/Genuino Uno” 

   “툴” -> “포트” -> “/dev/cu.usbmodem14201”  ※포트명은 컴퓨터에 따라 달라질 수 있음!

   각각을 잘 선택하고, 업로드(오른쪽방향 화살표 동그란 아이콘 클릭)하면 됩니다.

   

   ※ 미리 컴파일이 잘 되는지만 확인해보고(체크 표시 동그란 아이콘 클릭), 업로드하는 것이 좋습니다.


------------------------------------------------------------------------------------------   

Grbl Controller 와 Universal G-Code Sender 를 다운받아서 설치한다.

※ GrblController-3.6.1.7z 파일을 다운받는다. https://github.com/zapmaker/GrblHoming/releases

※ UniversalGcodeSender-v2.0.0-stable2.zip 을 다운받아서 사용한다. 엉뚱한 버전 받으면 고생한다! https://winder.github.io/ugs_website/download/


Port name은 “/dev/cu.usbmodem14201”

Baud Rate는  115200 으로 설정


Open 버튼을 클릭했을때, 다음과 같은 메시지가 나와야 정상이다.


Grbl 1.1g['$'for help]

>$G

...

>$$

$0=10

...

...

...

$132=200.000




Spindle Motor를 켜는 명령어는 M05,  끄는 명령어는 M03 이며, (Spindle On 토글박스 체크와 언체크로 제어할 수 있다.)

Spindle의 속도제어는 S100 ~ S1000 까지로 제어할 수 있다.


---------------------------------------------------------------------------------------

추가 : 

CNC 장비의 Limit 스위치는 포토커플러를 이용한 최상의 방법을 선택할 수 있다.


별도의 GRBL Buffer Board가 판매되고 있으나, 매우 심플하게 구성할 수 있다.

https://www.tindie.com/products/eccentricwkshp/cnc-optical-limit-switch-isolator-grbl/


LTV-817과 1K, 220 오옴 저항으로 구성할 수 있다. 

https://github.com/gnea/grbl/wiki/Wiring-Limit-Switches









Posted by 훅크선장
, |

0-1. 24v 사용을 위해서, D1 제너다이오드 제거

※   D1 제너다이오드는 ramp 1.4보드에서 아두이노 메가보드로 전원이 공급되도록 하는 역할을 함.

  단, ramp 1.4 보드가 12v 전원만을 사용하도록 되어 있기 때문에

  이것을 연결한 채로 아두이노 메가가 사용되면 아두이노 메가가 24v 전원이 공급되어서 타버림~~!!!!!

  

0-2. 24v 사용을 위해서, 11A용 전원단에 붙은 휴즈 교체 

   http://www.mythoughtspot.com/2017/09/18/modify-ramps-for-24-volts/ 참조

   베드가열을 위한 전원 입력부에 과열방지를 위해서 MF-R1100 폴리 퓨즈가 달려있는데, 이것은 16v 용이라서,

   24v 전원에서는 아마 타버릴 것이기 때문에, 자동차용 32v 10A 퓨즈로 교체(퓨즈홀더를 직접 기판에 납땜하는 방식으로)

   http://www.devicemart.co.kr/goods/view?no=1153151

   http://www.devicemart.co.kr/goods/view?no=11510 

   이상 두 부품을 사용함


1. Arduino Mega 2560 을 위한 grbl 다운로드

   2019년 2월 현재, grbl은 1.1 버전이 나와있으며,

   https://github.com/gnea/grbl-Mega/releases 에는 2017년 8월 2일부로 v1.1f 가 있다고 하나, 

   업데이트후에 확인해본 결과, 1.1g 버전으로 업데이트된 상황임.

    

   https://github.com/gnea/grbl-Mega 에서,

   우측편에 있는 “Clone or download”를 선택하여, zip 파일로 다운로드 받음.

   

   다운로드된 파일명은 grbl-Mega-edge.zip 파일이며, 이 파일의 압축을 풀어준다.

   하위에 build, doc, grbl 디렉토리가 있다. 중요한 것은 grbl 디렉토리이다.


2. 아두이노 IDE 설치

   아두이노 IDE 최신버전을 설치하고, 

   https://www.arduino.cc/en/Main/Software 에서 다운로드, 2019년 2월 현재 최신버전은 1.8.8

   

3. EEPROM 청소

   grbl을 업로드하기 전에 꼭 반드시 EEPROM을 깨끗이 청소하는 작업이 필요하다고 함!!!!

   최상위 메뉴에서 “파일” -> “예제” 에서 중간쯤  

   “EEPROM” -> “eeprom_clear” 를 선택하고 파일이 열리면, 한번 업로드 실행을 해주면 됨.

   

4. grbl mega 라이브러리 설치

   최상위 메뉴에서 “스케치” -> “라이브러리 포함하기” -> “ZIP 라이브러리 추가...” 를 선택

   파일선택 다이얼로그가 뜨면, 1번의 과정에서 확인된 grbl 디렉토리가 보이는 곳으로 이동하여, 

   grbl 디렉토리를 선택한 다음 “선택” 버튼 클릭

   

5. grbl mega 소스 수정 (정말로 중요한 곳이다.)

   ~/Documents/Arduino/libraries/grbl 디렉토리로 이동한 다음,

   config.h 파일을 편집기로 연 다음, 다음 두 라인을 코멘트 처리하고,(맨 앞에 // 를 추가한다.)

   #define DEFAULTS_GENERIC

   #define CPU_MAP_2560_INITIAL

   

   다음 두 라인을 실제 코드 라인으로 바꿔준다. (맨 앞에 있는 // 를 제거한다.)

   // #define DEFAULTS_RAMPS_BOARD

   // #define CPU_MAP_2560_RAMPS_BOARD

   

6. grbl mega 소스 수정, 스핀들 모터의 PWM 속도 제어 가능

   기존 소스로는 PWM 속도 제어 불가능

   https://lotronblog.wordpress.com/2018/01/25/changing-spindle-pin-on-grbl-mega/ 에서

   제안한 방법으로 소스를 수정한다.

   ~/Documents/Arduino/libraries/grbl 디렉토리로 이동한 다음,

   cpu_map.h 파일을 편집기로 연 다음, 다음과 같이 수정한다.

   

  //Control Digital Pin 6 which is Servo 2 signal pin on Ramps 1.4 board

  #define SPINDLE_TCCRA_REGISTER    TCCR4A

  #define SPINDLE_TCCRB_REGISTER    TCCR4B

  //#define SPINDLE_OCR_REGISTER      OCR4C   <- 바뀐 부분

  //#define SPINDLE_COMB_BIT          COM4C1   <- 바뀐 부분, 그리고 아래 두 줄을 추가

  #define SPINDLE_OCR_REGISTER      OCR4A

  #define SPINDLE_COMB_BIT          COM4A1


  // 1/8 Prescaler, 16-bit Fast PWM mode

  //#define SPINDLE_TCCRA_INIT_MASK ((1<<WGM40) | (1<<WGM41))   <- 바뀐 부분

  //#define SPINDLE_TCCRB_INIT_MASK ((1<<WGM42) | (1<<WGM43) | (1<<CS41))    <- 바뀐 부분

  //#define SPINDLE_OCRA_REGISTER   OCR4A // 16-bit Fast PWM mode requires top reset value stored here.   <- 바뀐 부분, 그리고 아래 세 줄을 추가

  #define SPINDLE_TCCRA_INIT_MASK (1<<WGM41)

  #define SPINDLE_TCCRB_INIT_MASK ((1<<WGM42) | (1<<WGM43) | (1<<CS40)) 

  #define SPINDLE_OCRA_REGISTER   ICR4

  #define SPINDLE_OCRA_TOP_VALUE  0x0400 // PWM counter reset value. Should be the same as PWM_MAX_VALUE in hex.


  // Define spindle output pins.

  #define SPINDLE_PWM_DDR   DDRH

  #define SPINDLE_PWM_PORT  PORTH

  //#define SPINDLE_PWM_BIT   5 // MEGA2560 Digital Pin 8    <- 바뀐 부분, 그리고 아래 한 줄을 추가

  #define SPINDLE_PWM_BIT   3 // MEGA2560 Digital Pin 6 

   

  RAMPS 1.4 보드에서 스핀들모터와 스핀들모터 PWM 신호는 리셋스위치 오른쪽의 12개 핀아웃에서 나온다.

    PWM    ON/OFF

  O  ~  O  X  

  O  O  O  O

  O  O  O  O  <- All ground pin


7. grbl mega 컴파일 및 업로드

   최상위 메뉴에서 “파일” -> “예제” 에서 아래쪽 “사용자 지정 라이브러리의 예제”쪽에 있는 

   “grbl” -> “grblUpload” 를 선택하면, 파일이 열립니다.

   

   다시, 최상위 메뉴에서 “툴” -> “보드” -> “Arduino/Genuino Mega or Mega 2560” 

   “툴” -> “프로세서” -> “ATmega2560 (Mega 2560)”

   “툴” -> “포트” -> “/dev/cu.usbmodem14201”  ※포트명은 컴퓨터에 따라 달라질 수 있음!

   각각을 잘 선택하고, 업로드(오른쪽방향 화살표 동그란 아이콘 클릭)하면 됩니다.

   

   ※ 미리 컴파일이 잘 되는지만 확인해보고(체크 표시 동그란 아이콘 클릭), 업로드하는 것이 좋습니다.


P.S. 여기에 사용한 grbl은 순수하게 Mega 보드용이므로, 다른 보드를 위한 grbl을 사용하기 위해서는 미리 제거해야 한다.

     (grbl 이라는 폴더 이름이 충돌하기 때문에...)

   

   기존 설치된 라이브러리를 제거하려면,

   ~/Documents/Arduino/libraries 폴더로 이동한 다음에 해당 grbl 디렉토리를 삭제하고,

   Arduino IDE를 다시 시작하면, 해당 라이브러리가 없어진 것을 확인할 수 있다.

   (최상위 메뉴에서 “스케치” -> “라이브러리 포함하기” 에서 grbl 이름이 없는 것을 확인!)

   

------------------------------------------------------------------------------------------   

Grbl Controller 와 Universal G-Code Sender 를 다운받아서 설치한다.

Port name은 “/dev/cu.usbmodem14201”

Baud Rate는  115200 으로 설정


Open 버튼을 클릭했을때, 다음과 같은 메시지가 나와야 정상이다.


Grbl 1.1g['$'for help]

>$G

...

>$$

$0=10

...

...

...

$132=200.000


Posted by 훅크선장
, |

칼리 리눅스와 더불어, 모의침투에 자주 애용되는 Backbox 리눅스의 버전 5.2 DVD의 한글화에 성공하였습니다. 

이 한글화 버전은 Backbox 리눅스가 ISO 파일에서 Live 상태로 부팅될 때, 한글이 적용된 상태인 DVD를 만든 것입니다.


배포방식은 FTP 서버로 합니다. FTP 패스워드만 퀴즈로 풀면 됩니다.


64비트 파일명은 

backbox-5.2-ko-amd64.iso 입니다.

SHA-160     : 07025a14de33d102e2a4286fa69cb201a999cf1b

MD5         :  df958d5961a10d673e1eddcc7fd875cf


32비트 파일명은 

backbox-5.2-ko-i386.iso 입니다.

SHA-160     : cb2feec3c86fc7dde51d4e9fb09c7fce8bcd0fe3

MD5         :  51c786382a24664bb2566f1e40b15208


다른 버전들도 있으니, 한꺼번에 받지 마시고, 필요한 것만 받아가시기 바랍니다.


FTP 서버: hook7346.ignorelist.com

FTP 포트: 21번

FTP 계정: kali2ko

FTP 패스워드는 퀴즈입니다. => 영문자판상태에서 한글로 치시면 됩니다.

1) 패스워드는 한글 4글자와 특수문자 1개로 구성되어 있습니다.

2) 패스워드의 첫 두 글자는 우리나라 문자 이름입니다. 이미 1) 문장에서 나온 단어입니다.

3) 패스워드의 세번째와 네번째 두 글자는 3.1절에 외치던 문장에 있는 두 글자입니다.

“대한 독립 OO”에서 OO에 들어가는 단어입니다.

4) 마지막에 들어가는 특수문자는 3)의 단어뒤에 자주 붙는 특수문자입니다. 느낌이 오시나요? (이거 자주 헷갈리시는데, 쩜은 아닙니다. 느낌입니다.)


다시한번 말씀드리지만, 영문자판상태에서 한글로 치시면 됩니다.

한글 4글자와 특수문자 1개로 구성되어 있습니다.(영문자로는 총 12글자입니다.)


퀴즈가 안풀리시는 분은  아래 그림 화면에서 터미널창에 입력된 명령어를 주목하시면 됩니다.

--------------------------------------------------------------------------------------------------------------

현재, 한영 입력 변환은 fcitx 입력기의 기본 키맵인 Ctrl+Space 로 되어있습니다.

Posted by 훅크선장
, |

https://linoxide.com/debian/configure-vnc-server-debian-9-stretch/

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-16-04

를 참조하였음.


1. 패키지 설치


# apt-get update

# apt-get install xfce4 xfce4-goodies gnome-icon-theme tightvncserver sudo


gdm과 lightdm 에서 디폴트 gdm 을 그냥 선택.


2.  vnc 사용자 계정 추가


# adduser vnc

# gpasswd -a vnc sudo



3. VNC 서버 실행


여기서부터는 반드시 일반 vnc 계정으로,


# su - vnc

$ vncserver


You will require a password to access your desktops.


Password:  [접속 패스워드 입력]

Verify:    [접속 패스워드 한번 더 입력]

Would you like to enter a view-only password (y/n)? y    [view 만 하는 패스워드를 만들거냐고 물어보는데, Y/N 알아서 선택]

Password: [View 전용 패스워드 입력]

Verify:  [View 전용 패스워드 한번 더 입력]

xauth:  file /home/vnc/.Xauthority does not exist


New 'X' desktop is 578e1bb09561:1


4. xstartup 환경 재설정


먼저 vnc 서비스를 중지하고,


$ vncserver -kill :1

X 데스크탑 번호가 1번일때는 :1 을 인자로 준다.


$ cd

$ cd .vnc

$ mv xstartup xstartup.bak

기존의 xstartup 스크립트를 백업


$ nano xstartup

#!/bin/bash

xrdb $HOME/.Xresources

startxfce4 &


새로운 xstartup 생성


스크립트의 실행권한 추가 

$ chmod 755 xstartup


서비스 재실행

$ vncserver



5. VNC client 로 접속


VNC 클라이언트에서,   


vnc://192.168.OO.O:5901


VNC 서버의 IP 주소와 함께, :5901 또는 :5902  포트번호를 지정하여 접속

3.번 과정에서 서버가 설치되었을때, 실행되는 X 데스크탑의 번호를 기준으로 포트번호 지정

앞에서 마지막 메시지가 :1 로 끝났으므로, 이 경우에는 데스크탑 번호가 1번 이므로, 포트번호는 5901 번.

만약 :2 로 나왔다면, 포트번호는 5902번 


패스워드 물어보면, 앞에 입력한 접속 패스워드 를 넣음.



Posted by 훅크선장
, |

2018년 8월 21일에 릴리즈된, 칼리 리눅스의 롤링 버전 2018.3 의 한글화에 성공하였습니다.


지금까지의 사용빈도를 고려해서, X윈도우 매니저를 세가지 종류(XFCE, GNOME, LXDE)로만 차례로 빌드하고 있습니다. 단, i386 플랫폼용은 GNOME 버전만 빌드할 예정입니다.


※ 세벌식 자판을 쓰시는 분들은 메뉴바에서 나비 아이콘을 클릭하고, 자판을 변경하시면 됩니다.

그놈 버전은 화면 왼쪽 하단의 얇은 검정색 조그만 막대에 마우스를 가져가면, 꺽쇠 아이콘이 나타납니다. 그 아이콘을 클릭하시면, 나비 아이콘이 나옵니다.


배포방식은 이전과 동일하게, FTP 하나 입니다. FTP 패스워드만 퀴즈로 풀면 됩니다.


64비트 파일명(UTF-8, GNOME)은 

kali-linux-rolling-2018.3-jungdowha-amd64-ko-utf8-gnome.iso 입니다.

SHA-160     : 68c42022d46e6871b7fd10e95ea9364c28e51bc8

MD5         :  fe66602c394369a6a15422e8940a7fb3


32비트 파일명(UTF-8, GNOME)은 

kali-linux-rolling-2018.3-jungdowha-i386-ko-utf8-gnome.iso 입니다.

SHA-160     : 9035a84414ba189bf992a22a443eb2b3a0ca21f1

MD5         :  62cff62cd0e90e7d606565464ffef65d


64비트 파일명(UTF-8, XFCE)은 

kali-linux-rolling-2018.3-jungdowha-amd64-ko-utf8-xfce.iso 입니다.

SHA-160     : bc4513a2c91302924665f88ffe254759ef20a442

MD5         :  6a1161870086a7a9fcd4a4cbaa904363


64비트 파일명(UTF-8, LXDE)은 

kali-linux-rolling-2018.3-jungdowha-amd64-ko-utf8-lxde.iso 입니다.

SHA-160     : 81f773fd0539cc65c8771d2e5c3a66c7fdf39aa6

MD5         :  72de8dbba1ef2322ce18dd0898835c13



다른 버전들도 있으니, 한꺼번에 받지 마시고, 필요한 것만 받아가시기 바랍니다.


FTP 서버: hook7346.ignorelist.com

FTP 포트: 21번

(※ Passive mode를 사용하세요.)

FTP 계정: kali2ko

FTP 패스워드는 퀴즈입니다. => 영문자판상태에서 한글로 치시면 됩니다.

1) 패스워드는 한글 4글자와 특수문자 1개로 구성되어 있습니다.

2) 패스워드의 첫 두 글자는 우리나라 문자 이름입니다. 이미 1) 문장에서 나온 단어입니다.

3) 패스워드의 세번째와 네번째 두 글자는 3.1절에 외치던 문장에 있는 두 글자입니다.

“대한 독립 OO”에서 OO에 들어가는 단어입니다.

4) 마지막에 들어가는 특수문자는 3)의 단어뒤에 자주 붙는 특수문자입니다. 느낌이 오시나요? (이거 자주 헷갈리시는데, 쩜은 아닙니다. 느낌입니다.)


다시한번 말씀드리지만, 영문자판상태에서 한글로 치시면 됩니다.

한글 4글자와 특수문자 1개로 구성되어 있습니다.(영문자로는 총 12글자입니다.)


퀴즈가 안풀리시는 분은  아래 그림 화면에서 터미널창에 입력된 명령어를 주목하시면 됩니다.

--------------------------------------------------------------------------------------------------------------


# GNOME 데스크탑 화면


# XFCE 데스크탑 화면


# LXDE 데스크탑 화면


Posted by 훅크선장
, |