adsl 회선 2개 사용

wire101의 이미지

:D

한국통신 adsl 프리미엄 두개를 사용 해서

사설 아피로 공유(iptable 또는 ipchain) 를 할려고 합니다.

리눅서 서버 eth0 ==>허버 내부 네트워크 pc 4대
eth1 ==> wan 한통 adsl 1
eth2 ==> wan 한통 adsl 2

내부 사설 아피에서 리눅서 서버의 eth1 eth2 의 최대 속도를 다
사용 하고 싶습니다.
만약 한대가 다운로드를 한다면 adsl 1,2 의 각각의 다운 속도가
8메가라면 16메가의 다운 속도로 받을수 있겠죠
두대가 동시에 다운을 한다면 각각 8메가 물론 adsl이 정상적인 속도가
나올때라고 가정해서 입니다.
4대가 사용 하면 4메가 기타 업로드도 동일.....
이게 가능한걸로 알고 있는데 시도 해보신분 도움 부탁 드립니다.
아니면 참고할 만한 관련 글이라도 부탁 드립니다.
아니면 불가능 한가요?

jedi의 이미지

커널 문서에서 bonding.txt를 보면 설치하는 방법이 입습니다.
아마도 찾으시는 기능일겁니다.

network디렉토리에 있습니다.

Quote:

삽질 끝에 알아냈습니다! -_-v

[시스템 구성도]

------------------
| eth1 |-ppp0----------- ADSL#1
내부망 | |
---------------| eth0 eth2 |-ppp1----------- ADSL#2
(192.168.X.X) | |
| eth3 |-ppp2----------- ADSL#3
------------------

제가 설치한 리눅스 배포판은 RedHat 8.0 입니다.

커널은 오리지널 2.4.20에 패치시킨거...

우선 linux-2.4.20 커널을 /usr/src/에 풉니다.

커널소스가 /usr/src/linux-2.4.20 에 풀립니다.

패치 사이트는

http://www.linuxvirtualserver.org/~julian/

이 사이트에 중간쯤에 보면

patch-2.4.20-ja1.diff 이 패치를 받아서

/usr/src/linux-2.4.20 폴더에 넣고

patch -p 1 < patch-2.4.20-ja1.diff

로 패치 적용시킨 후 커널을 컴파일합니다.

커널 옵션에서 IP tables관련 항목이랑 PPP 관련 항목들,

QoS and fair queueing을 켜야하는거 잊지 마십시오.

그리고 레댓 8.0에 들어있던 iproute 패키지로는 안되므로

iproute 소스코드를 받습니다.

ftp://ftp.inr.ac.ru/ip-routing/ 에 가서

iproute2-2.4.7-now-ss020116-try.tar.gz 를 받아서 적당한 곳에 풉니다.

아까 패치 사이트 가서
( http://www.linuxvirtualserver.org/~julian/ )
( http://www.ssi.bg/~ja/ )

iproute2-iparp-3.diff 패치를 받아서 위에 압축푼 폴더에 넣습니다.

마찬가지로 패치합니다.

patch -p 1 < iproute2-iparp-3.diff

그리고 src에 들어가서 make;make install하여 iproute를 컴파일합니다.

원래있던 RPM 바이너리에 덮어쓰기로 /sbin/ip가 설치됩니다.

그리고 나서
-IP MASQUERADING
-로드밸런싱 스크립트
-QoS관련 queueing 스크립트

를 설정합니다. 참고 사이트와 문서들은

www.netfilter.org

Adv-Routing-HOWTO
IP-Masquerade-HOWTO

잘 설정하면 완성입니다! -_-v

참고가 되길 바라며...

p.s> 제가 헤매던 곳은 여깁니다.

ip route replace default table other proto static \
nexthop via $GWE0 dev $IFE0 weight 1 \
nexthop via $GWE1 dev $IFE1 weight 1 \
nexthop via $GWE2 dev $IFE2 weight 1

이런식으로 하고 ip route show 하면

default proto static
nexthop via XX.XX.XX.XX dev ppp0 weight 1 dead onlink
pervasive
nexthop via XX.XX.XX.XX dev ppp1 weight 1 dead onlink
pervasive
nexthop via XX.XX.XX.XX dev ppp2 weight 1

이런식으로 자꾸 위에 "dead" 가 떠서 고생했습니다 -_-;

패치와 iproute 바꾸니까 되더군요.

제가 1주일간 고생한걸

이글을 읽은 분들은 1일만에 해낼수 있게 되길 바랍니다. ^^

이문서 출처를 안적어 둬서 원저작자에게 죄송하군요.

+++ 여기부터는 서명입니다. +++
국가 기구의 존속을 위한 최소한의 세금만을 내고, 전체 인민들이 균등한 삶을
영위할 수 있는 착취가 없는 혁명의 그날은 언제나 올 것인가!
-- 조정래, <태백산맥> 중에서, 1986년

mach의 이미지

Quote:
만약 한대가 다운로드를 한다면 adsl 1,2 의 각각의 다운 속도가
8메가라면 16메가의 다운 속도로 받을수 있겠죠
두대가 동시에 다운을 한다면 각각 8메가 물론 adsl이 정상적인 속도가
나올때라고 가정해서 입니다.
4대가 사용 하면 4메가 기타 업로드도 동일.....

결코 딴지를 거는것이 아닙니다.
TCP는 PDM(packet division multiplexing)을 사용한다고 봐야하는데요, ADSL이 정상적인 속도가 나온다고 가정해도, 프로토콜 핸들링(충돌, 재전송등)을 위한 오버헤드땜시, 님이 예상한 정도의 latency는 나오지 않습니다. 보통의 경우 50%의 속도로 생각하심이 옳습니다.
혹시, 잘 설치하시고서 제속도 안나온다고 고민하실까봐 말씀드립니다.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.