우선 반탈 자체가 탈옥 후에 한번 껏다가 just boot 로 켜줘야 제대로 작동하는 짜증나는 점이 존재.


여튼 iOS6 반탈하고 잘 쓰다가 reboot 하니 just boot 을 해도, 다시 jailbreak 를 해도 MobileSubstrate 가 작동안함..

(계속 해봤던 이유는 트윅들이 작동안해서 그냥 탈옥 풀린줄 알았음.)


재탈옥 하면 무한리스프링이니 그냥 껏다가 just boot 다시 해주시고, 터미널 등으로 리스프링 한번 해주면 정상작동함.



그리고 이거 하면서 Mobile Substrate 업데이트 후 재부팅시 볼륨 업 버튼을 꾹 누르고 있으면 Substrate 가 꺼진채로 켜진다는 점도 알았다 ㅋ

이거 언젠가 유용하게 써먹을 듯 ㅋㅋ

납작면 기준

흰주/주/흰녹/파/흰파/녹/흰갈/갈 순서.


데이터 통신에 사용되는 번호는 1,2,3,6 (즉 흰주,주,흰녹,녹)


허브<->허브 혹은 PC<->PC 간의 연결엔 크로스 케이블로 제작 필요.

크로스 케이블 쓸일은 없지만 혹시 모르니 알아만 두자. 어떻게 만드는지는 그때 찾아보면 되겠지 뭐.

'Network' 카테고리의 다른 글

ipv4 클래스  (0) 2012.09.29
공유기를 스위칭허브로 사용하기  (0) 2012.09.29

솔직히 이거 뭔지 잘 모르겠음.

한 10% 밖에 이해안가는..ㅠㅠ


언젠가 이해 가겠지란 마음으로 완전히 까먹어 버릴순 없으니 적어둠.


클래스 A

0xxx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx

0.0.0.0 ~ 127.255.255.255

네트워크.호스트.호스트.호스트

1.0.0.0 ~ 126.0.0.0

2^24-2 = 16,777,214 개


클래스 B

10xx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx

네트워크.네트워크.호스트.호스트

128.1.0.0 ~ 191.254.0.0

2^16-2 = 65534 개


클래스 C

110x xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx

192.0.0.0 ~ 223.255.255.255

네트워크.네트워크.네트워크.호스트


192.0.1.0 ~ 223.255.254.0

254 개

'Network' 카테고리의 다른 글

LAN선 (UTP케이블 + RJ45 잭)  (0) 2012.09.29
공유기를 스위칭허브로 사용하기  (0) 2012.09.29

2017.01.16 추가 - Ubuntu 16.04 LTS xl2tpd + strongswan 설치


아래 글은 Ubuntu 12.04 에서 작성 및 테스트하였다.


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


vpn 의 목적이

1. 학교에서 막힌 곳 뚫기

2. 컴퓨터나 서버와 간단히 연결하기


였는데 openvpn 의 불편함으로 l2tp 뚫어봤음...

3g 에서 l2tp 연결해두고 학교 와이파이 잡으면 정상 사용가능한게 미스터리..ㅋㅋ

와이파이는 연결되있고 인터넷은 3g 이용함...ㅠㅠ



openvpn 은 워낙 헤매서 기억을 더듬어 어느정도 써놨는데

l2tp 는 전혀 기억이 안나므로 과정 대충 베끼다가 설정 파일들은 그냥 다 첨부하겠음 ㅋㅋ


우선 ipsec 설치 / 설정

apt-get install openswan

cp /etc/ipsec.d/examples/l2tp-psk.conf /etc/ipsec.d/l2tp-psk.conf

그리고 저 파일 수정이지만 내 설정을 올리겠으


다음은 /etc/ipsec.conf


virtual_private 는 특정 서브넷을 허용하고, 거부한단건데 사실 잘 모르겠음. 난 그냥 대충 해놨고, 잘 작동함. ㅋ


그리고 /etc/ipsec.secrets 을 열어서

서버주소 %any: PSK "공용 암호키"

를 넣어준다.


그 다음 service ipsec restart



드디어 본론! l2tp 설치/설정


sudo apt-get install xl2tpd ppp


설치 후

/etc/xl2tpd/xl2tpd.conf 를 수정해준다



아이피 주소 같은건 알아서 수정하자.

참고로 10.~~ 를 사용하지 않고 다른 대역을 사용하려면 ipsec.conf 파일에 virtual_private 를 수정해야할 필요가 있을수도 있음.


다음은 /etc/ppp/options.xl2tpd



이것 역시 dns 정도는 알아서 바꿔주자.


다음으로 /etc/ppp/chap-secrets 파일을 수정해주자.

로그인 정보 파일이며 이거 수정후에 재시작해 줄 필요는 없다.


(아이디        서버이름   비밀번호            할당할 아이피)


이 정보들을 쓰면 된다. 간격은 탭으로 적당히 띄우면 됨.

서버 이름과 할당할 아이피에는 * 을 써도 됨.

ex)

id            l2tpd    password            *



xl2tpd 재시작 해주면 된다. ( service xl2tpd restart )



아 iptables 설정을 해줘야 한다.


iptables -A FORWARD -s 10.7.0.0/24 -j ACCEPT

iptables -t nat -A POSTROUTING -s 10.7.0.0/24 -o eth0 -j MASQUERADE


그리고 네트워크 포워드까지..


echo 1 > /proc/sys/net/ipv4/ip_forward


마지막 iptables 설정이랑 ip_forward 이건 재부팅시 초기화 된다. 매번 재시작시 다시 해주거나 재시작시 자동으로 되게 알아서 하면 됨.



ps. 혹시 안되면 재부팅 해보셔요.. 안되던거 재부팅으로 해결 ㅡㅡ

ps2. 몇번 나눠쓰고 대충 써서 글이 이상하거나 빼먹은거 있을 수 있음.

어차피 나보라고 쓰는거니까 나를 위해 태클걸어주면 감사히 수정하겠습니다~(?) ㅋ

'Linux, Server, Web' 카테고리의 다른 글

phpmyadmin 에러  (2) 2012.11.18
사용해 본 VPS 비교  (2) 2012.11.14
우분투 openVPN 설치/설정법  (0) 2012.09.29
ftp / samba  (0) 2012.01.01
Ubuntu apache2/php5/mysql/mariadb  (0) 2012.01.01

포트 변경의 메리트로 사용하게된 openvpn.

내가 사용할 일 없는 443(원래는 https용)을 vpn 용으로 지정해놓으면 막힐일 거의 없다 ㅋ


단점이라면, 컴퓨터라면 클라이언트를 따로 설치해야 하고,

모바일 기기라면 루팅/탈옥이 꼭 필요하다는 점..ㅠㅠ

안드로이드엔 openvpn 에서 만든 프로그램이 있고

iOS에서는 GuizmOVPN 이라는 유료앱이 있음. 앱스토어에 OpenVPN 앱이 있다. 이거 쓰면 됨.



1. 설치

sudo apt-get install openvpn


2. 키 폴더 만들기

mkdir /etc/openvpn/easy-rsa/

cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/


3. /etc/openvpn/easy-rsa/vars 수정

사실 안해도 되지만 그러면 키 하나 만들때 마다 귀찮음 ㅋ

export KEY_COUNTRY="KR"

export KEY_PROVINCE="NA"

export KEY_CITY="Daegu"

export KEY_ORG="iolate"

export KEY_EMAIL="iolate@me.com"


4. 서버 키 만들기

cd /etc/openvpn/easy-rsa/

source ./vars                        #위에 설정한거 적용

./clean-all                             #키 폴더 비움

./build-dh

./pkitool --initca                     #ca 키 생성

./pkitool --server server         #서버 키 생성


cd keys

#만들어진 키 이동

sudo cp server.crt server.key ca.crt dh1024.pem ../../


하다가 openssl 오류나 2.0 어쩌구 에러나면 easy-ssl 폴더 안에

openssl-1.0.0.cnf -> openssl.cnf 링크 만들어 주면 된다.


5. 서버 설정 (/etc/openvpn/server.conf)

뭐 설정 skel 파일이 있긴한데....



대충 이렇게 쓰면 됨.

길이가 너무 길어져서 주석들은 전부 뺏음 ㅋ


6. vpn 재시작

service openvpn restart



7. 클라이언트 정보 파일 생성

cd /etc/openvpn/easy-rsa/

source ./vars 

./pkitool client


8. 클라이언트 설정 파일 (이름.ovpn 혹은 이름.conf)



난 키 파일을 설정 파일에 다 집어넣는걸 선호해서 저렇게 해놨는데

싫다면  <~> </~> 부분을 제거 후

cert client.crt

key client.key

ca ca.crt

이렇게 각각 적어주고 설정파일(conf 혹은 ovpn)과 함께 배포하면 된다.


9. iptables 설정




openvpn이 다 좋긴 한데 위에 적었듯이 서드파티 앱이 반드시 필요하고

한번 배포한 인증서의 차단이 조금 쉽지 않다는 것이 흠..

'Linux, Server, Web' 카테고리의 다른 글

사용해 본 VPS 비교  (2) 2012.11.14
우분투 L2TP VPN 설치/설정법  (2) 2012.09.29
ftp / samba  (0) 2012.01.01
Ubuntu apache2/php5/mysql/mariadb  (0) 2012.01.01
Ubuntu 초기 LAN 설정 건너뛴 후 인터넷 연결이 안될때  (0) 2011.07.06

서브 공유기 설정

1. 공유기 관리자 설정에서 LAN 에서 구성(혹은 외부에서 설정 등)을 활성화


2. 내부 ip 주소 : Main 의 서브넷 내의 아이피 하나 ex, 192.168.1.11

내부 게이트웨이 : Main IP

DNS 주 : Main IP

DNS 보조 : 168.126.63.1 (혹은 알아서)


3. DHCP 서버 끄기 (혹은 내부 네트워크에서 DHCP 서버 발견시 서버 중지[iptime])

바꾸고 나서 공유기 연결이 안된다면 Main 에 연결후(WAN 에 연결하면 안됨! LAN에 연결! 4번 참고)

위에서 설정한 아이피로 접근


4. Main -> Sub 케이블을 Sub 의 WAN 이 아니라 LAN 포트에 연결해야함.

만약 2 에서 내부 ip 주소 설정이 안된다면 이거 먼저 바꿔놓고 시도.


5. 시스템 설정의 UPNP 끄기


이러면 잘 작동함.

iptime 공유기와 buffalo 공유기에서 테스트 해봤음. (Main 은 Time Capsule.)


*단 iptime 의 경우 Apple 의 Bonjour 서비스가 제대로 작동하지 않는 문제 발생.

또한 유선->허브에 물린 무선 을 잘 찾지 못하는 문제가 있는데 이건 iptime 만의 문제인지 아닌지는 모르겠음.


Sub 공유기의 유선포트 전체가 스위칭 허브가 된 것이므로

Main -> Sub -> Sub 와 같은 직렬구성(?)도 가능.


각 공유기의 SSID 를 동일하게 하고 채널을 각각 다르게 설정(1, 5, 9, 13 으로 띄워서 설정을 추천)하면

동일 SSID 로 전체적으로 사용가능함.

단 이 경우 맥 인증을 포함한 보안 정책이 선택적으로 작동하므로 Main, Sub 모든 공유기에서 동일한 보안 정책 설정 필요.

'Network' 카테고리의 다른 글

LAN선 (UTP케이블 + RJ45 잭)  (0) 2012.09.29
ipv4 클래스  (0) 2012.09.29

Mountain Lion 업데이트 + XCode 업데이트 하니 개발에 필요한 터미널 툴들이 다 사라져 버렸다..

둘 중에 뭐가 문젠진 모르겠지만 여튼 어차피 안되는건 안되는거니 해결해보자.


1. make 등 컴파일에 필요한 것들..

(뭐.. 딴것들도 없겠지만 난 THEOS 를 사용하면서 make 만 작동 잘하면 더 깊게는 생각할 필요가 없으므로;;;)


XCode - Preferences... -> Downloads -> Command Line Tools 를 인스톨


다되면 THEOS 에서의 컴파일은 문제없이 잘된다 ㅎ

(개발자 계정이 필요하단 말도 있던데 난 그냥 되더라)



2. port, dpkg


dpkg 가 왜 안되는지 모르겠고,,, port 까지 작동안함..;;

port 절대경로로 업데이트도 해봤는데 안되길래 뒤늦게 깨달은거..

(port 업데이트는

$ sudo /opt/local/bin/port selfupdate

$ sudo /opt/local/bin/port upgrade -f outdated

)


경로 설정이 날아가버린 듯.


원래 ~/.profile  에서 환경 PATH 설정이 가능했는데 이게 작동을 제대로 안하는것 같다.

sudo vi /etc/paths 로

/opt/local/bin//opt/local/sbin/ 을 추가해주면 다 정상작동 한다.


예상보다 조금 일찍 쓰게 됬음.. (원래 지금 쓸 생각 없었는데...ㅋㅋㅋ)


별건 없고......

보통 예제소스들은 fopen 으로 되어 있는데 대부분의 호스팅들은 보안상 저걸 막아버려서 쓸 수가 없음.

그래서 curl 로 만들어진 예제 소스를 첨부하니, 조금만 수정해서 쓰시면 되겠습니다아아아


이때 사용하는 http://cydia.saurik.com/api/check 라는 주소는 똑바로 쓰지 않으면 그냥 없는 페이지 처럼 보이므로 나처럼 url 바로 적어보는 삽질하지말고 아래 소스 따라가자..




보면 대충 다 알겠지???

난 이걸 include 해서 사용한다..

package - product 라던가, version 의 유무라던가, 기타 것들은 딱히 필요없을 것 같으니 생략함.

필요하면 레퍼런스 찾아보셔요. http://test.saurik.com/cydia-packagers/API4%2520v10.pdf


우선 조금 부가 설명을 하자면, mode 가 두가지 있는데 차이점을 모르겠다.. reculsive 가 조 금더 깊은 모드(그러니까 좀더 고급적인??)라고 설명하던데 난 차이를 모르겠더라...

대충 읽어봤을땐 결제에 사용하는 이메일 같은게 날라온다고 하는 것 같았는데 실제로 그렇지도 않고... local 이든 reculsive 든 같은 내용들을 뿌려주는 것 같았다.(구매 방식(paypal,amazon) 이라던가..)


저 소스에서는 Product 를 쓰지 않았지만, 레퍼런스를 본다면 Package 대신 Product 항목을 쓸 수도 있다.

이건 Cydia Connect 에 로그인하면 내 패키지의 product 명이 뭔지 알 수 있다.

저 소스를 vendor 로 등록되기 전에 쓴 것이라 난 Product 와 Package 의 차이점을 몰라 한참 고민했었지... ㄱ-


Vendor 와 Signature 는 Cydia Connect에 로그인해야 알 수 있다.




API Credentials 란 부분 보이지??




요런 화면을 볼 수 있다.

Vendor ID 는 일반적으로는 bigboss 에서 등록하는 아이디가 되는 것 같은데,

좀 다른 케이스를 봐서 확신은 못하겠다...ㅋㅋ

하여간 저 Secret Key 를 소스의 Signature 에 넣어주면 된다.


Secret Key 가 왜 Secret Key 인지. 즉 저걸 왜 비밀로 유지해야하는지는 모르겠지만(크게 상관없을 것 같은데..)

저 키 때문인지, 다른 이유도 있는지 하여간 기기에서 cydia 서버로 바로 확인하는건 금지하고 있다.(이 경우 Secret Key 를 일반 유저가 알 수 있으니까.) 즉, 내 서버를 한번 거쳐서 조회해야 한다.



처음 Vendor 로 등록하는 사람들은 Secret Key 등을 알 수 없으므로 서버에선 무조건 승인 메세지를 보내주고, 후에 서버에서 php소스를 수정해 주는 방식으로 해주면 됨.

'개발개발 > Mac, iOS' 카테고리의 다른 글

GSEvent.h (for hid-support)  (0) 2012.12.23
앱 설치여부 구하기 (앱스토어 사용가능!)  (0) 2012.12.08
Cydia Store 에 앱 올리기  (2) 2012.04.08
iOS 지도앱 openURL  (3) 2012.02.27
참고하면 좋은 싸이트들  (0) 2011.12.04

거창하게 적고 싶은 마음도 있지만, 어차피 보는 사람 몇 없을거니 그냥 대충 적기로 합시다..


Cydia Store 에 앱을 올린다면 알만한 전제, 정의, 설명 다 생략합니다.

제가 Bigboss 를 사용해서 올리므로, Bigboss 기준임.


이런걸 봤을겁니다...

시디아 스토어 체크하고 밑에 저기 나열한것만 다 적으면 되는 줄 알았음.....ㅠㅠ

0) 원하는 가격. - 나중에 수정 가능하다

1) 이름 (나의 경우 Kim, Seung-ho)

2) South Korea

3) just me~~

4) paypal email


저거대로 작성해서 보내면 Optimo 로 부터 장문의 메일을 받을 수 있을거임..

1. 미국인이 아니므로, w-8ben 서류 작성을 요구함. optimo 는 18세 미만이면 부모님이나 다른 어른의 이름으로 하라지만 이리저리 봐도 크게 문제 없을 것이라 판단하여 일단 무시하고 내 이름으로 서명해서 보냈음. (밑에서 다시 조금 자세히 설명)


2. Cydia Store number 필요 - PC 에서 http://cydia.saurik.com/connect 로 로그인 하거나, cydia 에서 직접 로그인 하면 #00000 식의 번호를 확인할 수 있다. 이것이 내 아이디.


3. 판매 대금에 대한 설명 - 70% / 30% 가져가며, 70% 에 대해 정부에 세금 떼야함. 조금 길어서 접었다. 주저리주저리 펼쳐보자..ㅎㅎ



4. app id 에 대해. 이게 무료앱은 상관이 없는데 유료앱은 아닌가 봄. bundle identifier 의 도메인에 대한 소유권이 있어야 함. 즉 kr.iolate.touchpose 로 앱을 올렸다면 touchpose.iolate.kr 로 접속이 가능해야하며, 그 도메인을 내가 소유하고 있어야 함. 만약 도메인이 없을 경우 org.thebigboss.[product name] 으로 해서 올리게 됨.


5. 기기 제한을 알려달라고 한다. 즉, 지원하는 기기가 아니면 애초에 팔지를 않겠다는 거.

테스트 하거나 대충 range 를 보내주자.


처음 유료앱을 올리게 되면 이렇게 해야할 것이 이것저것 많다.. 특히 다른건 똥씹은 표정으로 그냥 하면 되는데(일단 세금 문제는 무시하자..) w-8ben 에 당황...

우선 양식은 http://www.irs.gov/pub/irs-pdf/fw8ben.pdf 여기 있다. 막막해 하지 말고 저거 인쇄하고! 펜 들고! 시작!

Part 1 에 이름, 2에 국가(South Korea), 3 에 Individual 체크, 4에 영문주소, 5,6,7,8 다 건너뛰고 Part2 에 9-a 체크, 옆에 빈칸에 South Korea 적고 젤밑에 Sign Here 에 이름 적고 우측에 Date. 밑에 형식있으니 그 형식대로 적으면 끝.

한 문장으로 설명했음!! 이렇게 적은 후 잘 보이게 스캔해서 optimo 이메일로 보내주면 된다.


처음 보낼 경우 w-8ben 때문인지 시간이 좀 걸린다.

나의 경우 일요일날 보냈고(옵티모가 일요일날 확인할거라고 미리 말해줬었다) 그 주 목요일날(밤이니까 금요일?) 등록됬다.


이후 http://cydia.saurik.com/connect 로 로그인 하면 Vendor 로 정식 등록됬음을 알 수 있다..^^





특이한 점은 Package 가 아니라 Product 란 개념으로 관리된다. 즉, 여러 패키지를 하나의 Product 로 묶어서 하나 구입하면 다 구매처리 되는 방식이 가능한것으로 보이지만, 안해봤고 확인도 안해봐서 정확하지는 않다..^^

Total Sales 랑 Pending Earnings 보고 있음 재밌음..ㅋㅋ 참고로 Pending Earnings 는 시디아 수수료 30% 제한 금액이다. 즉 추가의 세금이 없다면 저 돈이 paypal 을 통해 입금된다.

보면 알다싶이 판매 그래프도 제공한다.

Device Compatibility 는 지원 버젼 수정. 여기 해당하는 버젼이 아니면 유저가 구입이 불가능 하다.

Price Points 는 가격 변경. 가격을 수정할 수 있으며, 즉시 적용 된다는 듯...

Give Free Copy 는 말그대로 무료카피 선물. Cydia id number 를 필요로 한다.



한국내에 Cydia Store 진입을 원하는 사람이 있다면 이것만으로 충분한 자료가 되었다고 생각함.

(아, 세금문제는 누구 저한테도 좀 알려주세요..ㅠㅠ w-8ben 나이제한이 세금때문에 그런것 같은데.. 긴가민가함)


또한.. 저기 Total Sales 에 보면 341 명인데 실제 기기 등록수는 1만여대가 넘는다. 즉 크랙이 판을 친다는 얘기.

크랙방지 꼭 넣자..... 다음엔 Cydia Store 결제 체크 API 에 대한 글을 쓸 예정!


구글:
지정된 핀(임의 위치): http://maps.google.com/maps?f=q&q=좌표
그냥 핀 찍고 위치 공유로 나오는 주소를 때려 넣으면 됨. 좌표 뒤에 검색어 등은 지워도 됨. 있으면 작동 안할 수도 있음.
ex> @"http://maps.google.com/maps?f=q&q=35.855387,128.637478"
등록된 위치: maps://?q=검색어&cid=아이디
이 역시 지도 앱에서 검색한 후에 링크를 쏘는 것 추천...
특이하게 cid 가 있어도 쿼리 이름이 없으면 안되더라..지정된 핀의 경우 그냥 풀 URL 다 날려도 iOS 가 알아서 지도 앱을 실행시켜 주는데 등록된 위치의 경우 안되더라..
앱으로 직접 url 쏴줘야 함.
ex> @"maps://?q=%EA%B2%BD%EC%8B%A0%EA%B3%A0%EB%93%B1%ED%95%99%EA%B5%90&cid=16795864946373944557"

다음:

(요넘 힘들었다.. 결국 다음팀에 문의..ㅋ)
지정된 핀: daummaps://look?p=좌표
이 넘 역시 핀 찍고 주소 공유하면 http://local~~ 어쩌구 주소가 나오는데 그 뒷부분만 빼오면 된다.
ex> daummap://look?p=35.850000,128.630000

검색 결과: daummaps://search?q=검색어
정말로 검색 결과를 보여줌. 예시 필요도 없다. 위에 그대로 쿼리로 쏴도 된다..ㅋ

등록된 위치: daummaps://place?id=아이디
이 넘은 핀 찍고 주소 공유하면 http://~~~~place?confirmid=아이디
이렇게 주소를 준다. confirm 만 지워주면 됨. 노란색 핀으로 찍어준다.ㅋ
ex> @"daummaps://place?id=8197517"

네이버:
별거 없다. 모바일 페이지로 들어가면 앱에서 보기 링크가 있는데 그거 클릭해서 주소 빼오면 된다.
참고로 iOS 디바이스에서 실행하면 바로 지도앱이 켜져 버리니 불가능 하고, 사파리에서 모바일 페이지로 진입 후,
개발자 모드를 켜서 user agent 를 iOS 로 바꿔준다. 그러면 앱으로 보기 버튼이 활성화 되는데 그거 누르면 주소를 알아낼 수가 있다. 더럽게 길기도 하고 그 많은 값 중 하나라도 빼면 제대로 작동안함.

등록된 위치 뿌려주는 예시:
@"navermaps://?menu=location&pinType=place&lat=35.855549&lng=128.637438&title=%EA%B2%BD%EC%8B%A0%EA%B3%A0%EB%93%B1%ED%95%99%EA%B5%90&pinId=11594033" 



참고로 사파리가 아니라 앱에서 openURL 로 실행할 때 url에 한글이 있을경우 escape 해서 보내야 함.
NSURL 이 알아서 해줄줄 알았건만, 한글로 보내면 아예 URL 자체를 무시해버린다..

'개발개발 > Mac, iOS' 카테고리의 다른 글

Cydia Store 결제 체크  (7) 2012.04.11
Cydia Store 에 앱 올리기  (2) 2012.04.08
참고하면 좋은 싸이트들  (0) 2011.12.04
SpringBoard 설정들 (계속 업데이트 예정)  (2) 2011.12.03
Window 띄우기  (3) 2011.12.03

+ Recent posts