2013-10-11

RPi 3g as WiFi router

이것의 목적은 이렇다.

3g > usb0 > RPi > eth0 > Router > WiFi

즉 3g로 테더링한 인터넷을 이더넷을 통해 루터로 보낸다. 즉 3g 테더링 인터넷을 와이파이 공유기로 모두가 공유할 수 있다. 속도도 꽤 빠르다. 그럼 시작해 보자.

 

준비물: GUI 환경을 쓰기 때문에 모니터와 마우스를 준비하자.

 

먼저 랜선을 꼽아서 eth0으로 연결한다.

 

업데이트한다.

sudo su

apt-get update

apt-get dist-upgrade

 

재부팅

sudo reboot

 

네트워크 매니저 설치

apt-get install network-manger

 

재부팅

sudo reboot

 

네트워크 매니저 그놈 어플렛 설치

apt-get install network-manger-gnome

이걸 설치하려고 하면, 뭔가 더 설치할꺼냐고 물어본다. y를 2번 눌러야 한다. 처음에 안돼서 두번째 재부팅후 시도하니 되었다.

 

재부팅

sudo reboot

 

인터넷 설정을 네트워크 매니저에게 위임하려면 lo 빼고 전부 비활성화 한다.

sudo nano /etc/network/interfaces

 

이것만 남기도 다 지운다.

auto lo

iface lo inet loopback

 

재부팅

sudo reboot

 

랜선을 뽑고 공유기를 eth0에 연결한다.

 

관리자 root로 그래픽 쉘을 시작한다.

sudo su

startx

 

연결한다 eth0

eth0 > edit > IPv4 Settings > Method: Shared to other computers > save...

 

연결한다 usb0

 

터미널에서 ping체크 해보고 이상 없으면 OK.

ping google.com

 

재부팅 하면 완성! 자동으로 잡힌 셋팅값은 재부팅 해도 저장된다.

 

---- 결과정리 ----

내용 /etc/network/interfaces

auto lo

iface lo inet loopback

 

내용 ifconfig

eth0 Link encap:Ethernet HWaddr b8:27:eb:e1:f6:c0
inet addr:10.42.0.1 Bcast:10.42.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25201 errors:0 dropped:0 overruns:0 frame:0
TX packets:20849 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16213543 (15.4 MiB) TX bytes:19343689 (18.4 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:40 errors:0 dropped:0 overruns:0 frame:0
TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3696 (3.6 KiB) TX bytes:3696 (3.6 KiB)

usb0 Link encap:Ethernet HWaddr 0e:fe:e7:f6:77:75
inet addr:192.168.42.105 Bcast:192.168.42.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20833 errors:0 dropped:0 overruns:0 frame:0
TX packets:25072 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:18872645 (17.9 MiB) TX bytes:17652179 (16.8 MiB)

 

내용 sudo iptables -t nat -S

-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A POSTROUTING -s 10.42.0.0/24 ! -d 10.42.0.0/24 -j MASQUERADE

 

내용 sudo iptables -S

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 53 -j ACCEPT
-A FORWARD -d 10.42.0.0/24 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.42.0.0/24 -i eth0 -j ACCEPT
-A FORWARD -i eth0 -o eth0 -j ACCEPT
-A FORWARD -o eth0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth0 -j REJECT --reject-with icmp-port-unreachable

 

참고:

http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=27414

No comments:

Post a Comment