[완료] 커널2.4에서 ipt_ttl 이 실행되지 않는 문제

무혼인형의 이미지

사내 보안 문제 때문에 리눅스박스의 TTL을 조정하려 합니다.

# iptables -t mangle -I OUTPUT -j TTL --ttl-set 4
iptables: No chain/target/match by that name
# tail /var/log/messages
Jul 26 17:43:06 develop modprobe: modprobe: Can't locate module ipt_TTL
Jul 26 19:13:57 develop sshd(pam_unix)[4414]: session closed for user root
Jul 27 10:40:01 develop sshd(pam_unix)[4962]: session opened for user root by (u
Jul 27 10:40:36 develop modprobe: modprobe: Can't locate module ipt_TTL
Jul 27 13:34:13 develop last message repeated 2 times
# lsmod
Module                  Size  Used by    Not tainted
iptable_mangle          2776   0  (autoclean) (unused)
autofs                 13348   0  (autoclean) (unused)
8139too                17704   1
mii                     2156   0  [8139too]
iptable_filter          2412   0  (autoclean) (unused)
ip_tables              14936   3  [iptable_mangle iptable_filter]
mousedev                5524   0  (unused)
keybdev                 2976   0  (unused)
hid                    22244   0  (unused)
input                   5888   0  [mousedev keybdev hid]
usb-uhci               26188   0  (unused)
usbcore                77024   1  [hid usb-uhci]
ext3                   70368   2
jbd                    52212   2  [ext3]
# uname -a
Linux develop 2.4.18-14 #1 Wed Sep 4 13:35:50 EDT 2002 i686 i686 i386 GNU/Linux
# cat /etc/redhat-release
Red Hat Linux release 8.0 (Psyche)

위의 에러와 함께 정상적으로 올라가 지질 않습니다. FC1과 FC3에서도 테스트 해 봤으나 동일한 문제를 내더군요.
/lib/modules/2.4.18-14/kernel/net/ipv4/netfilter/ 에서 모듈목록을 보니 ipt_ttl.o 이 있고 Modules.dep 파일에도 의존성 정의가 잘 되어 있더군요

# modprobe ipt_ttl
# lsmod
Module                  Size  Used by    Not tainted
ipt_ttl                 1144   0  (unused)
.....(후략).....

이렇게 정상적으로 잘 올라 갑니다.

messages로그의 내용으로 봐서는 ipt_ttl과 ipt_TTL 의 대소문자 구별이 잘못되거나 무슨 문제가 있는 것 같은데, 어떻게 해결하면 좋을까요?

조언 부탁 드리겠습니다.

ps. CentOS 5에서 해 봤는데 여기서는 정상적으로 작동 하네요.

# iptables -t mangle -I OUTPUT -j TTL --ttl-set 129
# lsmod
Module                  Size  Used by
ipt_TTL                 6337  0
.....(후략)....

wariua의 이미지

ipt_ttl 모듈과 ipt_TTL 모듈은 서로 다른 모듈입니다. :-)

netfilter에서 조건을 지정하는 (match) 모듈은 소문자로 된 이름을 사용하고 처리 방식을 지정하는 (target) 모듈은 대문자로 된 이름을 사용합니다. 따라서 모듈 디렉터리에서 ipt_TTL.o를 확인해 보셔야 합니다. (말씀하신 내용으로 봐서는... 없겠군요.)
----
$PWD `date`

$PWD `date`

무혼인형의 이미지

네 감사합니다. patch-o-matic을 찾아봐야 겠네요.

그런데 man 페이지를 보니 TTL 모듈에 대한 설명이 다 있고 옵션도 열람 가능하던데요 그런데 모듈파일만 달랑 빠진건 좀 이상하게 보이네요

# iptables -t mangle -I POSTROUTING -j TTL --help
iptables v1.2.7
......(중략).....
TTL target v1.2.7 options
  --ttl-set value               Set TTL to <value>
  --ttl-dec value               Decrement TTL by <value>
  --ttl-inc value               Increment TTL by <value>

----
http://poorpuppet.egloos.com

wariua의 이미지

그렇다면 커널 모듈만 빠져 있는 건가봅니다. 인즉, /lib/iptables/ 안에는 iptables용 모듈인 libipt_TTL.so 파일이 있지만 /lib/modules/.../kernel/net/ipv4/netfilter/ 안에는 커널 모듈인 ipt_TTL.o 파일이 없는 건가봅니다. 흠... 배포판에서 그렇게 짝을 안 맞춰서 내보내지는 않을 것 같은데 신기하네요.
----
$PWD `date`

$PWD `date`

무혼인형의 이미지

위의 장비에서 배포판에서 iptables만 1.2.7로 다시 컴파일 해서 깔아놓은 상태 입니다.
커널은 kernel.org에서 구해서 검토 해 봤는데 대문자 TTL은 없는 것 같네요 =(

----
http://poorpuppet.egloos.com

무혼인형의 이미지

https://packetprotector.org/trac/browser/buildroot/trunk/pp-openwrt-1.0/target/linux/linux-2.4/patches/generic/105-netfilter_TTL.patch?rev=1

패치파일을 찾기 위해 구글링을 하다가 커널 2.4.30에 해당하는(위의 테스트는 레드햇 배포판에서 한 것이고, 최종 타겟커널 버전이 2.4.30 이었습니다) 패치를 받아서 적용 해 보았습니다. 컴파일 중 인데 두근두근 하는 군요 -_ -;

----
http://poorpuppet.egloos.com

무혼인형의 이미지

패치를 찾아서 적용한 이후에 컴파일 해서 모듈 올리고 정상적으로 작동 하는 것을 확인 했습니다.
[완료] 수정 합니다.

kernel 2.4.18
kernel 2.4.30

왜 이 모듈 부분이 빠져 있는지 궁금해 지네요.

----
http://poorpuppet.egloos.com

댓글 달기

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