Sat (Satellite Technology) HOWTO
Roberto
Arcomano
berto (at) fatamorgana.com
Florindo
Santoro
flosan (at) hack-it.net
지훈
고
gobears (at) kldp.org
v1.0, 30 April 2001
번역 v1.0
2001년 8월 31일
가자곰
한국어 번역판
위성을 이용한 인터넷 연결 기술은 인터넷 사용자들을 위해서
다운로드에 필요한 높은 대역폭을 허용하고, 재미있는 많은 서비스를 제공합니다.
이 문서는 리눅스 환경에서 얼마나 빨리 또 얼마나 많은 컴퓨터를 공유할 수
있는지에 관해서 이야기합니다.
이 문서의 최신 버전은
http://www.fatamorgana.com/bertolinux/sat/english 와
http://www.hack-it.net/How-To/Sat-HOWTO.html
에서 확인하시기 바랍니다.
Introduction
서론
이 문서는 위성 기술과 위성 기술이 어떻게 작동하는지 그리고 왜 필요한지,
어떻게 설정하고 여러 개의 클라이언트들은 어떻게 공유되는가에 대해서 설명합니다.
위성 연결은 지상 연결 기술 혹은 네트워크와는 매우 다릅니다.
위성 연결을 지속적으로 사용하기 위해서는 설치할 때 더 많은 주의가 요구되며,
안정적인 연결을 위해서는 유지보수에 좀 더 주의를 기울여야 합니다.
(눈, 강한 비 등의 기상 조건은 좋은 신호를 방해하는 원인이 됩니다.)
이 글에 대한 의견은 언제나 환영합니다. 다음의 이 메일 주소를 이용해 주시기 바랍니다.
berto@fatamorgana.com
과 flosan@hack-it.net
저작권
이문서는GNU GPL를 따릅니다.
또한 이 문서로 인해 생기는 문제점에 대해서 어떠한 책임도 지지 않습니다.
번역자의 생각
하나로 통신에서 시범적으로 케이블을 설치하기 어려운 지방을 대상으로 위성을 이용한 인터넷
연결을 구축하기 위해서 시범 운용을 하고, 시범지역으로 마포구 일대가 선정이 되었었습니다.
(물론 무료였습니다.) 현재는 한국통신과 삼성 SDS의 다이렉PC에서 위성을 이용한 인터넷 연결을 구현하여
서비스 하고 있습니다.
이미 방송용 위성을 보유하고 디지털 방송을 상업화하는 시기에서 리눅스에서 위성통신을 구현
하는 방법을 알아보는 것이 도움이 될 것 같습니다.
-가자곰-
배경지식
위성이란 무언인가?
In the last few years satellite began to be applied in Internet
networking, mainly by medium-big ISPs and we have seen it diffused
between users. Sat connections are a very different kind of networking
than terrestrial ones, with different timing such as higher RTT (round
trip time), but also with different bandwidth value, up to 2 Mbps
or more.
최근 몇 년 동안 위성은 인터넷 네트워크 통신을 지원하기 시작했습니다.
중대형 ISP가 지원하는 서비스로 몇몇 사용자는 위성을 통해 인터넷을 이용할 수 있게 되었습니다.
(한국에서는 하나로 통신에서 무궁화 위성을 통해서 서울 특정구-마포구-에서 시범운용하고 있습니다.)
위성 연결은 매우 높은 RTT(round trip time-응답시간)와 최고 2 Mbps 혹은 그 이상을 지원하는
매우 높은 대역폭(현재 한국에서는 2 Mbps는 높은 대역폭은 아닙니다.)
등 많은 부분에서 지상 연결과는 매우 틀립니다.
어떻게 동작하나?
다음과 같은 위성 연결을 가정할 수 있습니다.
|||||| S A T E L L I T E ||||||||
/ /|\
Downl / | Uploading
load / | from
to /(4) | (3) server
client / |
/ |
SatCard(parabolic antenna) |
| |
\|/ |
USER PC ----make request-----> SAT-SERVER <---retrieving---> INTERNET
(1) (2)
처음에는 인터넷 연결을 이용해서 Sat-Server에 위성연결을 요구합니다(1).
다음에 위 요구사항을 인터넷으로부터 정보를 가져오고(2) 이것을 위성에 보냅니다(3).
마지막으로 가정에서 파라볼라 안테나와 위성 카드를 이용해서 해당하는 정보를 받을 수 있습니다.
두 가지의 기본 적으로 요구되는 서비스가 있습니다.
Http
Ftp
두 가지 모두 작은 크기의 요구패킷과 매우 큰 크기의 답변패킷으로 구성되기 때문에,
위성 통신에서 아주 잘 작동될 수 있는 것입니다.
그러나, 매우 큰 응답 시간을 가지고 있는 것이 문제입니다.
이 것은 위성 통신이 가지고 있는 가장 큰 문제입니다.
일반적인 위성 통신을 가정하면 위성과의 거리는 약 36,000km입니다.
이것으로 응답시간을 계산하면 36000 km / 300.000 km/s = 0.120 s가 됩니다.
이것을 일반적인 인터넷 응답시간에 더해야 합니다.
(또한, 한가지 더 더해야 할 응답시간이 있는데, 처음으로 ISP에 위의 신호를 보내는 시간을 더해야 합니다.
- 휴우 긴 시간이 되겠죠)
최근의 ISP들은 다음의 서비스를 제공하고 있습니다.
Chat
Email
News
또한 다른 다양한 서비스를 지원하기 시작했습니다.
또한 "one-way" 라고 부르는 서비스가 있습니다.
이것은 메일과 원하는 시간에 예약된 파일을 받을 수 있는
download on-demand 라는 것과 사이트 다운로드로 구성되어 있습니다.
이 서비스는 오프라인으로 제공되며(위성을 이용하니까 당연하겠죠),
모뎀이 없이 연결이 가능합니다. - 한 마디로 받기만 하는 서비스 입니다.
위성 통신으로 어떤 정보를 찾을 수 있는 것이 아니라, 정해진 것을 받는 서비스 입니다.-
또 다른 기술들
또 다른 위성 기술이 있습니다.
이것은 2-way sat connection인데, 오직 파라볼라 안테나로만 인터넷 연결을 하는 것입니다.
당연히 파라 볼라 안테나로 신호를 송출할 수 있어야 합니다. 이 방식은 1-way connection에 비해 매우 가격이 비쌉니다.
미래에나 대중화 되기를 기대할 수 있을 것 같습니다.
현재는 다운로드에 4 Mbit/s 와 업로드에 256Kbit/s의 대역폭을 제공하고 있습니다.
(전파를 수신만 하는 안테나는 가격과 설치에서 그나마 쉬운 편이지만, 전파를 내보낼 수 있는 안테나는
높은 가격과 숙련된 기술을 요구합니다.)
최대 대역폭(전송속도)은 얼만 인가?
다음과 같은 여러 가지 변수에 의해서 정해 집니다 :
ISP의 목적, TCP 윈도우 사용 유무, 사용자가 이용하는 프로그램 그리고 인터넷 연결의 혼잡도
최대 1-4 Mbps의 대역폭을 기대할 수 있고 평균적으로는 10-30 KBytes/s 속도가 나올 수 있습니다.
하지만, 여러 가지 변수에 영향을 받습니다.
어쨌든 많은 ISP가 최대 대역폭을 이야기 하겠지만, 평균 대역폭은 혼잡도 때문에 그 보다 훨씬 낮습니다.
어떤 ISP들은 최소 대역폭을 보증합니다. 이것은 최대 대역폭 보다 더 훨씬 의미가 있습니다.
부록 A를 보면 더 자세한 정보를 얻을 수 있습니다.
비용은 얼마나 드나?
하드웨어 비용과 ISP의 서비스를 이용하는 비용을 구분해야 합니다.
하드웨어 비용은 정해져 있고, 서비스는 어떤 것을 선택하냐에 따라서 달라집니다.
하드웨어 비용
위성 시스템을 설치하는데 필요한 것들:
위성카드
파라볼라 안테나
변환기
위성 신호를 변환하기 위해서는 디지털 변환기가 필요합니다.
위성 카드는 제조회사에 따라서 다릅니다. 약 200US$-300US$ 입니다.
(매우 비싼 가격 입니다. 약 25만원에서 35만원이고, 아마도 한국으로 수출되는 가격은 이보다 훨씬 비싸질 겁니다.)
파라볼라 안테나 약 50 US$.
변환기(일명 셋톱 박스) 50US$.
총 합해서 약 3-400 US$ 정도가 듭니다. 하지만, 설치비용은 포함하지 않았습니다.
(한국에서는 대부분 설치비를 받지 않습니다. 하지만, 미국은 설치비가 더 비싼 경우도 많습니다.)
만약 암호화서비스를 원한다면
CI 에 약 100 US$.
CAM 에 약 100 US$-250 US$.
ISP 사용 비용
어떤 회사의 어떤 서비스를 이용하는 가에 따라서 비용은 달라집니다.(당연한 얘기죠)
또한 어떤 ISP들은 하단의 광고를 보는 대가로 무료 서비스를 제공하기도 합니다.
일반적으로 미국에서 일년동안 보증 되지 못하는 서비스는 약 100-150불이고,
속도 및 안정성을 보증하는 서비스는 일년에 약 4-600불 정도 입니다.
어떤 위성을 이용하게 되는가?
우리가 위성이라고 말할 때는 다음을 의미합니다:
Astra (19.2 degree SE), Hotbird (13.2 degree SE), new Europestar (45 degree SE), Eutelsat
(8 degree SW), Astra (26E), ArabSat 3A (26E).
무공화 위성에 관한 사항은 한국통신 위성사업부에서 확인하시기 바랍니다.
어떤 ISP가 인터넷 서비스를 제공하는가?
유럽에서는 8개의 ISP가 있습니다.
한국에는 2개의 회사가 제공하고 있습니다.
EuropeOnLine - EON
Netsystem
Starspeeder
Eliosat
Falcon Stream
SkyDSL
OpenSky
DirecPC
위 회사는 자사만의 위성카드를 이용합니다.(첫번째 위성 ISP입니다)
한국 위성 ISP들
한국통신
삼성 SDS의 DirecPC
EON은 보증 되지 않는 서비스를 일년에 150 US$에 제공합니다.
Netsystem 배너를 보는 대가로 무료 서비스를 제공합니다.
Starspeeder는 ????
Eliosat 최저 128 Kbps를 보증하며 일년에 350 US$을 입니다. 또한 양방향 서비스를 제공합니다.
SkyDSL은 128Kbit/s을 제공하며 한 달에 15 US$ 이지만, 더 큰 대역폭을 원할 때는 더 많은 비용을 내야 합니다.
자세한 것은 해당 웹사이트를 참조하시기 바랍니다.
한국 통신과 삼성SDS에 관한 사항은해당 사이트를 방문해 보시기 바랍니다. 물론 한글입니다.
주의 : 위성 서비스에 가입하기 전에 파라볼라 안테나의 지름과 위성 신호의 수신 가능 여부를 확인해 보시기 바랍니다.
그 밖에 필요한 것들
DVB 카드를 이용한다면 무료 디지털 TV를 볼 수 있습니다.
그리고 어떤 카드들은 상용 채널을 볼 수 있는 기능을 지원합니다.
다음의 그림으로 개념을 정리 할 수 있습니다.
Smart-Card -> CAM -> Common Interface -> Sat Card (with support C.I.)
CAM 카드(많은 종류의 복호화 기술이 있습니다. SECA, IRDETO, VIACCESS 등등)는 하드웨어 복호화를 담당합니다.
Common Interface 또는 C.I. (ETSI EN 50221)는 위성카드와 CAM 사이의 연결을 주관합니다.
Requirements
위성통신을 위해서 무엇이 필요한지 알아 봅니다.
요구되는 지식
리눅스(NET3-HOWTO에 있는 것처럼)기반 하의 인터넷워킹에 관한 경험이 필요합니다.
그리고 파라볼라 안테나와 위성시스템에 관한 아주 적은 지식이 필요합니다.
(안테나의 각도를 조정하는 것과 같은 것 말이죠)
하드웨어
필요한 것들
파라볼릭 안테나
Digital converter
DVB 호환되는 Receiver card.
PC
소프트웨어
Linux, Windows 혹은 그외의 OS에서 작동하는 DVB card 드라이버
드라이버 설정
외부 응용프로그램 세팅(ISP에서 요구하는 VPN-PPTP client 세팅)
Siemens DVB driver 는 Linux TV Project Linux TV Project 에서 찾을 수 있습니다.
TV 소프트웨어
TV 신호를 처리하기 위한 비디오 소프트웨어가 필요합니다.
윈도우즈 환경
MultiDec MultiDec 6.6b (free with source code)
TPREdit TPREdit (for Technotrend)
WinTV DVBs Hauppauge
or Technotrend (for Siemens compatible card, Hauppauge, Technotrend,
Technisat, etc... )
WinDVB2000 WinDVB2000 (about 19$).
리눅스 환경
gVideo is an application included in Siemens driver
Vdr Video Recoder (good for watch TV)
기초적인 설치
안테나 설치
우선 안테나를 지붕이건 옥상이건 설치해야 합니다.
그리고 안에나의 방향을 지겅해 주어야 합니다. 당연히 지구는 삼차원 이므로
무슨 쪽 몇도 높이 몇도 라고 정확히 가리켜 주어야 합니다.
정확한 측정
정확히 우리가 원하는 곳을 지정하는 어떻게 알 수 있을까?
정확한 각도로 안테나를 조정한 후에, 파워를 조정하는 것으로 정확한 방위를
가르키는 알 수 있습니다.
예를 들어 아나로그 수신기를 사용하는 경우에(물론 디지털 수신기에도 적용가능합니다.)
알맞은 각을 찾은 후에 아나로그 수신기로 가장 좋은 신호가 잡히는 각을 찾아 냅니다.
적정 각으로 설정한 뒤, 수신기로 확인하면 되겠습니다. 디지털로도
가능하지만, 아나로그가 훨씬 쉽습니다.
파위 측정기(약 20US$)를 이용하는 경우에는 신호측정기를 잘
확인하면 됩니다.
양방향 지원
두 개의 위성을 지원하는 시스템을 꾸밀 수도 있습니다.(어떤 회사들은 이
기능을 지원하는 완변한 상품을 내놓고 있습니다. 예를 들면 Astra
(19.2 SE) with Eutelsat (16 SE) or with HotBird (13 SE)입니다.)
안테나 설치를 위해서 추가적으로 위성이 변환기의 반대방향에 위채 해야
한다는 것을 고려해야 합니다. 아래 그림과 같습니다.
SAT1 SAT2
\ /
\ /
\ C1 C2 /
\ \ \ / / /
\ \ / \ / /
\____\ /___\ /_____/
Top View
C1 receives from SAT2
C2 receives from SAT1
또한 두개의 촛점으로 두개의 위성을 이용할 수 있습니다.
Data-link level 조정
이제?주파수, PID, 속도 등등을 적절히 조절해야 합니다.
여기에 Astra satellite (19.2 SE)을 이용하는 EON (EuropeOnLine)에 관한 예제가 있습니다.
Frequency: 12640 MHz
Polarization: V (Vertical)
Symbol Rate: 22000 KS/s
PIDs:
Unicast: 512 (decimal), 0x200 (hexadecimal)
Multicast: 785, 786, 1041 (decimal), 0x311, 0x312, 0x411 (hexadecimal),
대부분 자동으로 설정됩니다.
또한 MAC address와 DVB카드 정보가 필요합니다.
참고적으로 EON을 위한 MAC address값 계산 법이 부록 A에 있습니다.
ISP에 연결하기 위한 login name과 password가 필요합니다.
리눅스에서의 설정
이 과정에서 부터 Hauppage WinTV DVB card와 같은 Siemens호환 카드를 사용한다고 가정하겠습니다.
해당 드라이버와 소프트웨어는 다음에서 다운 받을 수 있습니다.
LinuxTV
or DVB-s PCI cards under Linux
Drivers 인스톨
드라이버를 다운로드 받은 후에, untar로 푼후, 해당 디렉터리에서
"make" 와 "make insmod"를 입력해야 합니다. 이렇게 하기 위해서는
/usr/src/linux 밑에 있는 리눅스 커널 소스가 필요합니다.
"make insmod"후에 스시템에 DVB 모듈이 로드됩니다. 모듈을 적재하지
않기 위해서는 간단히 "make rmmod"라고 입력하면 됩니다.
/etc/dvbd.conf 설정
/etc/dvbd.conf 파일은 DVB 카드를 위한 data-link parameters 설정을 하는데 쓰입니다.
다음이 셋팅 방법 입니다.
"power" , LNB의 파워 상태를 가리킵니다. , 1=ON, 0=OFF.
1개 이상의 LNB를 종속적으로 사용하지 않는다면, 평소에는 1로 설정합니다.
"symbolrate", symbol rate per seconds, for example
22.000.000.
"frequency", 데이타를 받는 주파수 , 예 12.640.000.
"ttk", the 22 kHz signal, 거의 항상 1.
"diseqc", 사용하는 diseq 수, 없으면 0.(2개 혹은 그 이상의 수를 사용할 때 쓰임
"AFC" , 대부분 1
"polarization", 수평은 1 수직은 0
"filter_n <PID> <MAC> <BITFILTER>" ,
n 이 0 이면 unicast, 1 에서 9 이면 multicast; PID는 10진수;
MAC은 MAC address로 multicast 필터와와 mask로 변화되는 비트 넘버인(예를 들면 10 = 2 (bit 1) + 8 (bit 3)
그래서 mask는 00 00 FF 00 FF 00)BITFILTER에 의해서 결정된다.
Example
------------------------------------------
# DVB receiver configuration file, (c) 2000 data planet international
# standard location in /etc
# LNB power on=1/off=0
power 1
# symbol rate [symbol/sec]
symbolrate 22000000
# ASTRA TR 114
frequency 12640000
# 22 kHz signal on=1/off=0
ttk 1
# diseqc on=1/off=0
diseqc 0
# AFC on=1/off=0
AFC 1
# polarisation H=1/V=0
polarisation 1
# settings for MPE filter, PID and MAC filtering, valid MAC
bytes
filter_0 512
filter_1 785 00:D0:5C:1E:96:01 48
filter_2 786 00:D0:5C:1E:96:01 48
filter_3 1041 00:D0:5C:1E:96:01 48
-----------------------------------------
filter_0 는 MAC와 bitfilter 값을 가지고 있지 않습니다. 왜냐 하면
MAC address는 IP 주소로 부터 구하기 때문 입니다.(자세한 것은 부록 A 참조)
위의 세팅으로 몇몇 ISP를 이용할 수 있겠지만, 만약 안된다면 dvbd.c 파일을
수정해야 합니다.
Dvbd daemon
/etc/dvbd.conf 설정에 성공 했다면, dvbd 프로그램을 실행해야 합니다.
-d 옵션 없이 실행한다면, stdout 신호를 quality level에 써줍니다.
Sync MUST be 127 or near it
Vber MUST be 0
위성으로 부터 신호를 잘 수신하지 못 한다면(케이블과 안테나의 방향을 확인해 보세요)
dvbd.h 파일의 다음 줄을 수정해야 할지도 모릅니다.
#define network_device "eth0"
을
#define network_device "ppp0"
로
어떤 인터넷 인터페이스를 사용하고 있는지에 따라서 eth0 혹은 ppp0를 결정해야 합니다.
그리고 "make"를 입력하여 파이너리 파일을 다시 업데이트 해주어야 합니다.
그리고 dvbd를 다시 시작합니다.
EON 서비스 설정하기
좋은 신호를 수신할 수 있다면, 위성 서비스를 이용할 수 있습니다.
EON은 HTTP와 FTP를 이용할 때 "proxy"를 이용합니다.
proxy.xxx.europeonline.net 는 포트 8080 FTP는 프록시로 포트 8090을 이용합니다.
xxx는 transponder number(103,113,114 or 115)입니다. 부록 B 에서 자세히
다룹니다.
이제 인터넷 항해를 할 수 있습니다. 편안하게 하세요.
여러개의 클라이언트에서 EON서비스를 공유하기 위해서는 Squid proxy의
프로그램을 사용하새 보시기 바랍니다. EON 프록시를 여러개 사용할 수 있도록 도와 줍니다.
더 많은 사용자들이 사용하기 위해서는 다음의 EON Linux Masquering FAQ Page
를 방문해 보시기 바랍니다.
Netsystem 서비스 사용하기
Netsystem은 리눅스 환경에서 사용하기는 EON 보다 좀 복잡합니다.
VPN connection
patch for pppd (needed only if using pppd <= 2.4.0)
patch for dvbd.c
Test it
Get performance better
Sharing Netsystem with many clients
VPN 연결
우선 VPN PPTP client application에서 프로그램을
다운 받으시기 바랍니다.
파일을 푼 후, 컴파일 하고 인스톨 합니다. /etc/ppp/pap-secrets 와 /etc/ppp/chap-secrets
파일에 다음을 추가 시켜야 합니다.
"login" * " password" *
"login" 과 "password"는 Netsystem registration의 것과 일치해야 합니다.
pppd를 위한 패치
PPTP description에서
말한 것과 같이 Netsystem VPN server (Microsoft server)를 지원하는 pppd daemon을 패치하여야 합니다.
다음의 방법입니다.
So you have to:
recent pppd version 방문합니다.
여기에서 pppd를 패치를 위한
최신 버젼을 받습니다.
해당 디렉터리에 풉니다.
다음을 입력합니다. "patch -p0 < patch_name"
pppd 디렉터리로 이동합니다.
enter pppd directory
"make" , "make install" 입력합니다.
Netsystem VPN을 사용할 수 있습니다. 다음을 해 보시기 바랍니다.
"pptp vpn.netsystem.com debug user <login>"
Netsystem의 어카운트로 접근할 수 있는 <login>명은 /var/log/messages
에 있는 로그 파일의pppl connection 정보에서 볼수 있습니다.
모든 것이 정상이라면 "ifconfig" 명령어로 pppl 인턴페이스를 확인 할 수 있습니다.
인증과정에서 계속 문제가 생긴다면 /etc/ppp/options 파일에 "noauth"를 추가 해 보시기 바랍니다.
pppl 인터페이스가 작동하면 다음을 과정으로 넘어 갑니다.
"ifconfig ppp1" 입력합니다.
"P-t-P:"의 오른쪽에서 IP 주소를 찾습니다.
"route del IP"로 라우팅 테이블에서 IP 주소를 지웁니다.
"route add IP dev ppp0"로 ppp0 interface에 IP를 추가 합니다.
"route del default"로 기본 게이트웨이를 지웁니다.
"route add default dev ppp1"로 기본 게이트웨이를 추가합니다.
1번 부터 3번 과정은 PPP 인터페이스를 리눅스 환경에서 다루는데 필요합니다.
게이트웨이를 새로운 인터페이스로 추가하는 것은 좋은 아이디어 처럼 보이지
않을 수 있습니다. 무한 루프에 빠지지 않는다면 아마도 패킷이 계속 암호화 된 것입니다.
4번 5번 과정은 pppl 인터페이스로 모은 인터넷 요구가 가도록 만듭니다. 그래서 VPN 연결로
인터넷을 이용할 수 있게 됩니다. (이러한 방법은 가장 좋은 연결 방법은 아닙니다.
DNS 쿼리 예를 들자면, 이것은 위성 통신의 응답시간 지연에 관계없이 바로 보내어 질 수 있습니다.)
dvbd.c 패치
PPTP 문제를 해결한 후에 dvbd.c 파일의 라인의 일부분을 수정해야 합니다.
(거의 끝부분입니다.)
if (strcmp (v, "filter_0") == 0) { if (s != NULL) { unsigned char ip[4];
dvbcfg[0].status = ON ;
dvbcfg[0].filter.data[0] = 0x3eff ;
dvbcfg[0].filter.pid = (__u16) atoi (s) ;
dvbcfg[0].filter.mode = 0x0c ;
if (ipget (ip, network_device)) { fprintf(stderr,"Can't get local ip address. Stop.\n") ; return -1 ; }
syslog (LOG_NOTICE, "Local ip is %u:%u:%u:%u\n", ip[0], ip[1], ip[2], ip[3]);
dvbcfg[0].filter.data[1] = (ip[3] << 8) | 0x00ff ;
dvbcfg[0].filter.data[2] = (ip[2] << 8) | 0x00ff ;
dvbcfg[0].filter.data[6] = (ip[1] << 8) | 0x00ff ;
dvbcfg[0].filter.data[7] = (ip[0] << 8) | 0x00ff ;
dvbcfg[0].filter.data[8] = (0x02 << 8) | 0x00ff ;
dvbcfg[0].filter.data[9] = (0x00 << 8) | 0x00ff ;
setmac (ip) ; }
else { dvbcfg[1].status = OFF ; } }
다음 줄을
dvbcfg[0].filter.data[1] = (ip[3]
<< 8) | 0x00ff ;
dvbcfg[0].filter.data[2] = (ip[2]
<< 8) | 0x00ff ;
dvbcfg[0].filter.data[6] = (ip[1]
<< 8) | 0x00ff ;
dvbcfg[0].filter.data[7] = (ip[0]
<< 8) | 0x00ff ;
dvbcfg[0].filter.data[8] = (0x02 <<
8) | 0x00ff ;
dvbcfg[0].filter.data[9] = (0x00 <<
8) | 0x00ff ;
다음으로 바꿔야 합니다.
dvbcfg[0].filter.data[1] = (MAC[5]
<< 8) | 0x00ff ;
dvbcfg[0].filter.data[2] = (MAC[4]
<< 8) | 0x00ff;
dvbcfg[0].filter.data[6] = (MAC[3]
<< 8) | 0x00ff ;
dvbcfg[0].filter.data[7] = (MAC[2]
<< 8) | 0x00ff ;
dvbcfg[0].filter.data[8] = (MAC[1]
<< 8) | 0x00ff ;
dvbcfg[0].filter.data[9] = (MAC[0]
<< 8) | 0x00ff ;
Where MAC[0]:MAC[1]:MAC[2]:MAC[3]:MAC[4]:MAC[5]
is our MAC address (according to Netsystem registration).
After, you have to type "
make"
and use the new dvbd created.
Note: to successfully patch the dvbd.c you need to use dvb driver
version >= 0.8.2, cause older versions have some instability problems.
시험해 보기
마지막으로 리눅스에서 Netsystem을 테스트 해 봅니다.
"ping www.somehostpingable.com"으로 응답 시간을 측정해 봅니다.
약 400에서 2000 ms 이어야 합니다.
아직 문제점이 발견 된다면 VPN 연결 부분을 다시 한번 살펴 보시기 바랍니다.
network sniffer (예 Ethereal) 실행하고,
"ppp0" interface 검사 합니다. (ppp1이 아니라 ppp0입니다.)
ping 을 합니다.
VPN이 정상이라면 두개 혹은 한개의 GRE-Encapsulated packets을 초당 확인할 수 있을 겁니다.
끝으로 여전히 VPN으로 아무것도 확인할 수 없을 경우 시스템을 정지하고 다시 시작해 보시기 바랍니다.
Netsystem을 여러 컴퓨터에서 공유하기
인터넷 연결을 공유하기 위해서는 "IP Masquering"을 가능하게 해 두어야 합니다.
모든 클라이언트 컴퓨터는 VPN 을 정상적인 인터넷 인터페이스로 사용할 수 있게
해 주어야 합니다. 가장 큰 문제는 위성 시스템이 다운 속도는 빠르나 웹 브라우징
부분에서는 나쁜 성능을 가진다는 것입니다.
Squid proxy나 Socks proxy
를 사용하는 방법을 생가해 볼 수 있습니다. 그러나 계속 같은 문제를 격게 된다면,
이유는 모든 인터넷 요구가 같은 인터페이스 즉 VPN으로 보내기지 때문입니다.
해법은 두 개의 라우팅 테이블을 이용하는 것입니다. 하나는 direct line 인터페이스를
이용하는 사용하고, 하는 VPN을 이용하는데 사용합니다.
그래서 다음과 같이 할 수 있습니다.
"iproute2"로 인스톨을 확인합니다. (예를 들면 "ip"라고 입력하고, 정보를 확인합니다.)
Linux 2.4 Advanced Routing HOWTO
에서 더 많은 정보를 얻을 수 있습니다.
Netsystem 서비스를 시작합니다. ppp1 interface 를 IP address로 지정합니다.
위의 IP 주소를 LOCALIP라고 부르겠습니다.
type: "echo " 210 sat">> /etc/iproute2/rt_tables", to more comfortable call "sat" rule 210
type: "ip rule add from LOCALIP table sat",
to create table "sat" relative to all requests coming from LOCALIP IP address.
type: "ip route add default dev ppp1 table sat", to send all "sat" requests (see above) to ppp1 interface.
Socks proxy을 사용한다면,
sockd.conf 파일의 "external"을 LOCALIP로 지정하는 것을 잊지 마시기 바랍니다.
Squid proxy을 사용하다면,
squid.conf 파일의 "tcp_outgoing_address"을 LOCALIP로 지정하시기 바랍니다.
모든 설정을 마쳤다면,
프록시를 거치지 않고 바로 유선으로 요청하는 작업과 프록시(squid 또는 sockd)를
거치는 요구는 VPN 인터페이스로 전달되는 작업 두가지를 확인 할 수 있습니다.(명확히 하자면
위성으로 가는 신호 말입니다.)
squid 대신에 sockd을 사용하기를 원할 수 있습니다. 왜냐하면 위성은 다운 받는데
특화되어 있기 때문입니다.
iproute2 명령어를 입력하면 무슨 일이 벌어질까요? sockd 또는 squid에 주소를 확인할 때
프록시 요구는 커널이 전송하는 테이블에 설정된 곳(정확히 pppl 인터페이스)으로 TCP/IP 스택을 입력합니다.
모든 다른 요구는 기본 라우트로 전송 됩니다.
Windows에서 설정
EON
Hauppage WinTV는 특정 data-link 셋팅을 허용하는 DVB-DATA application을 가지고 있습니다.
Netsystem
먼저 VPN을 사용할 수 있도록 해야 합니다.
추가적으로 Netsystem 소프트웨어를 다운 받아서 실행해야 합니다. 다음에서
파일을 다운 받을 수 있습니다.
here
Appendix A - Notes
Dynamic IP -> MAC Address 변환
몇몇 ISP들은 MAC address를 계산하는데 translation 을 사용합니다.
00 : 01 : IP[0] : IP[1] : IP[2] : IP[3]
여기서
IP[0].IP[1].IP[2].I