리눅스 인터넷 공유(Masquerade)

http://www.otl.ne.kr/243

문서 중 가장 간단하다.

문서를 정리하자면,

다음과 같은 외부와 연결시키고 싶은 네트워크가 있다고 하자.



   _____________
  /                     \               외부 IP               _________              내부 IP
 |   Internet          |           123.12.23.43           |  linux     |          192.168.0.1
 |   google.com    | ——[외부 랜카드]——| machine |——[내부 랜카드]
  \_____________/                                         ———-             |
                                                                                               |        
                                                                                               |
                                                   _____________                ______|_______
                                                  | 192.168.0.2  |             /                      |
                                                  |    내부        |——–|    192.168.0.0    |
                                                  |    컴퓨터     |            |      인트라넷      |
                                                  ————–             \______________/ 

외부 네트워크 카드는 eth0, 외부 IP는 123.12.23.43, 그리고 내부 네크워크 카드는 eth1라고 가정하자.





$> modprobe ipt_MASQUERADE # 만약 실패하더라도 다음을 계속하시오.

$> iptables -F; iptables -t nat -F; iptables -t mangle -F

$> iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to 123.12.23.43

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

그리고 보안을 위해:





$> iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

$> iptables -A INPUT -m state –state NEW -i ! eth0 -j ACCEPT

$> iptables -P INPUT DROP # 위의 두 줄이 성공한 경우에만

$> iptables -A FORWARD -i eth0 -o eth0 -j REJECT

이 문서는 GNU Free Documentation License를 따른다.


http://www.gnu.org/copyleft/fdl.html

[Ubuntu] 무선랜 설정 시 볼 만한 문서

웬만한건 드라이버 잡으면

$ sudo iwconfig wlan0 essid GoogleGuest
$ sudo dhclient wlan0


하면 된다.

켰을 때 자동으로 연결 안하길래 아래와 같이 추가해 줬다.
/etc/network/interfaces


auto wlan0
iface wlan0 inet dhcp
        wireless_essid GoogleGuest

 


[Android] Linux에서 adb와 fastboot 사용하기

http://androidforums.com/samsung-i7500/32481-howto-linux-adb-fastboot-mass-storage.html 에서 자세한 내용을 찾을 수 있다.
요약 정리하면,

Linux 에서 사용할 수 있는 fastboot은 플랫폼 빌드 시에 생성되며, out/host/linux-x86/bin/ 아래에서 찾을 수 있다.

그리고 사용하려는 Linux 머신의 /etc/udev/rules.d/ 경로에 다름 파일들을 생성한다.

50-android.rules

SUBSYSTEM==”usb”, ATTR{idVendor}==”18d1″, MODE=”0666″, OWNER=”<사용할 Machine 상의 USERNAME>”

90-android.rules

SUBSYSTEM==”usb”, ATTR{idVendor}==”04e8″, MODE=”0666″, OWNER=”<사용할 Machine 상의 USERNAME>”

그리고 다음 명령을 사용하여 udev rules을 갱신한다.

reload udev

2014.07.11. SYSFS{idVendor} 를 ATTR{idVendor} 로 변경.

미국 출장 전 준비물

* 챙기기 완료
청바지 1
반바지 1
티셔츠 2
양말 5
우산 1
110V 처럼 생긴 Plug Converter 1

* 완료지만 챙겨야 할 것
스킨/로션 2 샀음
세면제 1 샀음
귀걸이 1 샀음
카드 지갑 1 샀음

* 가져갈 것
명함 넉넉히
회사 수첩 1
노트북 1
외장 하드 1
카메라 1
멀티탭 1
E-Ticket 1
국제면허증 1
여권 1
선글라스 1
슬리퍼 1

* 사야 할 것
왁스 사야함
흰 티셔츠 사야함
속옷 사야함
(햇반?, 컵라면?)

[git] git 설정하기

1. git 설치

sudo apt-get install build-dep git-core git-doc

2. git 구성하기
2.1. username과 email 설정

git config –global user.name “Yang Jeong-Seok”
git config –global user.email “dasomoli@gmail.com

2.2.. git 설정 확인

git config –global –list

2.3.. git color ui 사용

git config –global color.ui “auto”

2.4. 기본 인코딩을 cp949로 바꾸기

git config –global i18n.commitEncoding cp949
git config –global i18n.logOutputEncoding cp949

윈도에서는 LESSCHARSET=latin1 으로 설정해야 로그 메시지를 볼 수 있다.

set LESSCHARSET=latin1

2.5. 기본 에디터를 vim 으로 설정하기

git config –global core.editor “vim”

[Windows7] 도구 모음 대신 Rocket Dock

Windows 7으로 업그레이드하면서 Windows XP 에서 사용하던 자주 사용하는 프로그램 바로가기를 도구모음으로 바탕화면 오른쪽에 띄워놓고 필요할 때마다 사용하던 것이 불가능해졌다. 내가 모르는건가…
별도 프로그램을 이용하지 않고 사용할 수 있어서 매우 편리했는데 없어지니 매우 불편해서 어떻게 할까 하다가 Dock 프로그램을 사용해서 같은 방법으로 사용하기로 했다. 작업 상 효율적이던 습관을 바꿀 필요는 없으니까.
Dock이라고 검색하자마자 나온 Rocket Dock을 설치해서 사용해봤는데 뜨는 위치를 두번째 모니터의 오른쪽으로 위치를 변경하면 거의 동일하게 사용할 수 있다.

기존에 폴더의 바로가기를 아이콘으로 등록할 때 경로로 등록해야 한다는 점과 등록한 아이콘 이름을 조금 수정해줘야 한다는(ddms.bat라면 DDMS로, putty.exe라면 iPutty로, mspaint.exe를 그림판으로 등등) 점을 제외하면 꽤 괜찮은 거 같다.

확대되는 효과가 보기에는 좋지만 클릭하려고 할 때 뭔가 위치를 혼동시키는 느낌이라 확대되는 효과를 없애고,
폰트를 조정해 글자색을 윤곽색과 같은 색으로 지정하고 나니 아이콘 이름도 잘 보인다.

그리고 일단, 예전 밋밋한 도구모음보다 예쁘다^^

http://rocketdock.com/download
 

[Linux] screen 사용법

예전에 screen + vim 조합으로 열심히 써서 손에 익었던 것도 잠시.. 몇 년이 지나고 나니 어느새 다 잊어버렸다.
screen 을 이용하면 vim 에서 창을 나누지 않고 여러 화면을 전환하면서 쓸 수도 있고, 새로운 파일 들을 열어서 볼 때도 매우 편리하다.  또한, 원격지에서 접속 후 일을 하다가 중간에 작업은 진행시켜 둔 채로 접속을 끊고, 다른 곳에서 접속하여 하던 작업을 이어서 할 수 있다는 장점(이게 난 가장 좋다!)도 있다.
사용법을 찾아보니 이 곳이 정리가 너무 잘되어 있다.

내가 자주 사용하거나 유용한 몇 가지만 요약하여 정리하면 다음과 같다.

1. screen 생성시

 

$ screen -S <세션명>

또는 그냥

 

$ screen

2. 어떤 screen 이 있는지 보고 싶을 때

 

$ screen -list

3. 이전에 생성한 screen으로 돌아가고 싶을 때

 

$ screen -r [세션명]

4. 작업 중 새로운 screen 생성

 

Ctrl + a, c

5. 현재 screen 의 Title 명 변경

 

Ctrl + a, A

6. 작업 중 다른 screen으로 옮기고 싶을 때
6.1. 바로 이전에 사용하던 screen

 

Ctrl + a, a

6.2. screen 번호와 Title 보고 이동(5 항목과 함께 이용하면 편리하다)

 

Ctrl + a, ” (화살표 키 이동 후 엔터)

6.3. 번호 창으로 이동

 

Ctrl + a, [0-9]

6.4. 다음 screen

 

Ctrl + a, n

6.5. 이전 screen

 

Ctrl + a, p

7. screen 을 잠깐 사용 중인 상태로 떼어놓고(detach) 싶을 때

 

Ctrl + a, d

 

8. screen 사용 시 마우스로 화면 스크롤이 안되고, command history가 스크롤 될 때 ~/.screenrc 에 다음 내용을 적는다.

termcapinfo xterm* ti@:te@

socat을 이용해서 gitproxy 사용하는 방법

* http://www.emilsit.net/blog/archives/how-to-use-the-git-protocol-through-a-http-connect-proxy/ 참고
* 아래 스크립트를 gitproxy라는 이름으로 저장함. 사용법은 아래 코멘트 참조. (socat 툴이 깔려 있어야 함 http://www.dest-unreach.org/socat/)


#!/bin/sh
# Use socat to proxy git through an HTTP CONNECT firewall.
# Useful if you are trying to clone git:// from inside a company.
# Requires that the proxy allows CONNECT to port 9418.
#
# Save this file as gitproxy somewhere in your path (e.g., ~/bin) and then run
# chmod +x gitproxy
# git config –global core.gitproxy gitproxy
#
# More details at http://tinyurl.com/8xvpny

# Configuration. Common proxy ports are 3128, 8123, 8000.
_proxy=<IP:xxx.xxx.xxx.xxx>
_proxyport=<PORT:8080>


exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport

corkscrew 를 이용해서 git proxy 이용하기

1. corkscrew 를 다운로드 및 설치(우분투는 그냥 apt-get install corkscrew)
1.1. http://www.agroman.net/corkscrew/ 에서 구할 수 있다. wget을 이용하여 다운로드.

1.2. 설치

# configure; make; make install

1.3. /usr/local/bin/corkscrew 가 설치되었음을 확인.

2. git proxy를 위한 스크립트 작성
2.1. /usr/local/bin/gitproxy.sh 작성

#!/bin/bash
/usr/local/bin/corkscrew <Proxy IP> <Port> $*

2.2. ~/.bashrc 에 다음 추가

$ export GIT_PROXY_COMMAND=/usr/local/bin/gitproxy.sh

참고 : http://cafe.naver.com/embeddedcrazyboys.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=4981