리눅스 커널 소스 질문

ksc97의 이미지

제가 요즘 하는 프로젝트가 있는데 내용은 클라이언트와 서버가 있는데

구현할것은 중간에 라우터가 있어서 클라이언트가 보낸 패킷이 라우터를 거쳐

서 라우터에서는 그 패킷의 소스 아이피는 라우터 아이피로 고쳐서 서버로 보내

는 기능을 하는 라우터를 해야하는데 커널 소스를 고쳐서 하면 된다구 해야하는

데 막상 어디서 부터 해야할찌 몰라서 이렇게 질문 드립니다.

많은 조언 부탁드립니다....

charsyam의 이미지

ksc97 wrote:
제가 요즘 하는 프로젝트가 있는데 내용은 클라이언트와 서버가 있는데

구현할것은 중간에 라우터가 있어서 클라이언트가 보낸 패킷이 라우터를 거쳐

서 라우터에서는 그 패킷의 소스 아이피는 라우터 아이피로 고쳐서 서버로 보내

는 기능을 하는 라우터를 해야하는데 커널 소스를 고쳐서 하면 된다구 해야하는

데 막상 어디서 부터 해야할찌 몰라서 이렇게 질문 드립니다.

많은 조언 부탁드립니다....

뭐, 먼저 Network Layer 를 중점적으로 보시길 바랍니다. 뭐, 이쪽이 핵심입니다. 아이피를 고치는 것이니, 일단, Network Layer 중에서도 ip Layer를 보시면 되겠군요. 단순히 ip만 고치는 거라면야, 뭐, ip 싹 바꿔주고, checksum 만
다시 만들어서 넘겨주면 될 것 같은데... 음... 그럼 고운 하루되시길...

ipsec 같은 프로젝트들 관련해서 보시길 바랍니다. 비슷비슷합니다. 그럼 고운 하루 "비트 프로젝트" 살펴보면, 리눅스에서 ipsec 구현하는 부분이 있는데
도움이 많이 될것 같네요. 그럼 고운 하루...

=========================
CharSyam ^^ --- 고운 하루
=========================

choissi의 이미지

방화벽의 기능이 님께서 말씀 하시는 기능과 비슷한듯한데
이미 커널에 반영되어 있는 기능입니다.

구글 선생님께 아래의 키워드로 검색을 해보세요
ip메스커레이딩, netfilter, iptables

ps. 마이크로 소프트웨어 잡지중에서는 아래의 내용이 도움이 되더군요

(14) ★ /2000_10월호/인사이드 리눅스/Admin/인터넷 서버와 라우터로서 리눅스 최적화(2)/M20001005-리눅스커널.p.pdf
(15) ★ /2000_10월호/인사이드 리눅스/Theme Report/리눅스 커널 2.4 '또 다른 도약'/M20001005-REPORT.pdf
(16) ★ /2001_01월호/실전강의실/네트워크트래픽관리시스템만들기1/네트워크트래픽관리시스템의구조와커널프로그래밍/0101-336.pdf
(17) ★ /2001_02월호/인사이드 리눅스/CatchUp/Netfilter활용1/커널2.4의패킷필터링활용테크닉/0102-linux30.pdf
(18) ★ /2001_02월호/인사이드 리눅스/LinuxLine/컬럼/커널2.4가열새로운세상/0102-linux04.pdf
(19) ★ /2001_03월호/인사이드리눅스/CatchUp/Netfilter활용2/커널2.4에서NAT활용하기/0103-linux24.pdf

울랄라~ 호기심 천국~!!
http://www.ezdoum.com

acetcom의 이미지

그냥 글을 읽었을 때의 느낌은 단순히 리눅스 머신에 LAN카드 여러장 꼽아서 static route를 설정하면 가능할 것입니다. 이는 man route하여 리눅스 머신에서 간단한 명령으로 가능한거죠.

그런데, 만약 다른 망과 연결되어 dynamic route를 설정하려면, 리눅스 위에 rip, ospf, bgp 등을 올려야 합니다. 이에 관해 GNU에서 zebra라는 open source가 있습니다. 시스코 스타일의 CLI로 라우팅 등을 설정할 수도 있고 그렇습니다.

http://www.zebra.org/

그럼.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.