[완료] 커널2.4에서 ipt_ttl 이 실행되지 않는 문제
글쓴이: 무혼인형 / 작성시간: 금, 2007/07/27 - 2:10오후
사내 보안 문제 때문에 리눅스박스의 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 .....(후략)....
Forums:
ipt_ttl 모듈과 ipt_TTL
ipt_ttl 모듈과 ipt_TTL 모듈은 서로 다른 모듈입니다. :-)
netfilter에서 조건을 지정하는 (match) 모듈은 소문자로 된 이름을 사용하고 처리 방식을 지정하는 (target) 모듈은 대문자로 된 이름을 사용합니다. 따라서 모듈 디렉터리에서 ipt_TTL.o를 확인해 보셔야 합니다. (말씀하신 내용으로 봐서는... 없겠군요.)
----
$PWD `date`
$PWD `date`
그런데
네 감사합니다. patch-o-matic을 찾아봐야 겠네요.
그런데 man 페이지를 보니 TTL 모듈에 대한 설명이 다 있고 옵션도 열람 가능하던데요 그런데 모듈파일만 달랑 빠진건 좀 이상하게 보이네요
----
http://poorpuppet.egloos.com
----
http://poorpuppet.egloos.com
그렇다면 커널
그렇다면 커널 모듈만 빠져 있는 건가봅니다. 인즉, /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
----
http://poorpuppet.egloos.com
https://packetprotector.org/t
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
----
http://poorpuppet.egloos.com
패치를 찾아서
패치를 찾아서 적용한 이후에 컴파일 해서 모듈 올리고 정상적으로 작동 하는 것을 확인 했습니다.
[완료] 수정 합니다.
kernel 2.4.18
kernel 2.4.30
에
왜 이 모듈 부분이 빠져 있는지 궁금해 지네요.
----
http://poorpuppet.egloos.com
----
http://poorpuppet.egloos.com
댓글 달기