Fedora10 에서 iptables 로 25번 포트를 열려고 하는데 잘 안됩니다...

NpCA의 이미지

안녕하세요. 처음 글을 올려봅니다...

네이버 등 여기저기서 찾아보고 하고 있는데요 iptables 에 대해서 아직 개념을 잘 못잡고 있는 학생입니다.

/etc/sysconfig/iptables 파일을 봤을 때의 내용입니다.

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A INPUT -p tcp --sport 25 -j ACCEPT
-A OUTPUT -p tcp --sport 25 -j ACCEPT

COMMIT

이중에 제가 추가한 줄이
-A INPUT -p tcp --sport 25 -j ACCEPT
-A OUTPUT -p tcp --sport 25 -j ACCEPT
이 내용이구요...

iptables -L 로 테이블 리스트를 보게 되면...

[root@npca sysconfig]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
ACCEPT tcp -- anywhere anywhere tcp spt:smtp

Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spt:smtp

아래의 내용처럼 뜨게 됩니다.

tcp smtp 라고 올라와있어서 저는 당연히 되겠지라고 생각했는데... 외부 dos 에서 해당 서버로 접속하면 접속이 되질 않습니다.

iptables -F 해서 테이블을 초기화 시키거나
service iptables stop 해서 iptables 의 실행을 중지시키게 되면 타 pc에서 smtp 로의 서버접속이 가능해집니다...

결국에는 제 생각에는 iptables의 문제로 인하여 25번 포트가 막혀 있다는 것으로 생각이 되는데...

인터넷에서 이거저거 적용해봐도 되질 않네요...

고수님들 나름 열심히 찾아보고 질문 올립니다...

monovision의 이미지

1. -A INPUT -p tcp --sport 25 -j ACCEPT 의 명령 커맨드가 틀렸습니다.
-A INPUT -p tcp --dport 25 -j ACCEPT 로 해야 됩니다.

2.
[root@npca sysconfig]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
i) ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ii) ACCEPT icmp -- anywhere anywhere
iii) ACCEPT all -- anywhere anywhere
iv) ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
v) REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
vi) ACCEPT tcp -- anywhere anywhere tcp spt:smtp

여기에서 순서가 틀렸습니다.
즉, vi 가 v 보다 먼저 와야 합니다.

3. 그리고.. OUTPUT 체인은 default 가 ACCEPT 이므로 따로 추가를 해주지 않아도 무방합니다.

dvvbstation의 이미지

저는 리눅스를 접한지 얼마 되지 않았지만 혹시나 도움이 될까해서 적습니다.

어떠한 환경에서 작업하시는지 모르겠습니다만
일반 가정집에서 서버를 돌리신다면 추론컨데 보통 공유기를 사용하여
외부pc-공유기-사설망pc/서버 의 형태로 접속이라 생각됩니다.

이 경우 공유기 단이나 네트워크 단에서 포트를 막아놓지 않은 상태라면
사설망 내부나 외부 pc모두로 터미널 접속이 가능합니다.

일단 설정하신 부분을 살펴보면

-A INPUT -p tcp --sport 25 -j ACCEPT
-A OUTPUT -p tcp --sport 25 -j ACCEPT

위 iptables 규칙 에서 destination포트가 생략되어 있고 source포트만 명시가 되어 있습니다.
규칙이 옳다고 해도 로컬의 어떤 포트로 패킷을 받아야 될지 네트워크상에서 혼란이 예상되겠죠?
따라서 iptables -A 적용규칙 발신지 발신포트 목적지 목적포트 의 형식으로 가능하며
목적포트는 생략이 가능해도 소스포트는 생략이 불가능한 것으로 압니다.

제 견해로는 위의 규칙은 틀렸습니다.
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
를 해야 옳은 표현이 아닐까요?

작성하신 규칙은 제어할 수 없는 범위에 있는 발신지의 패킷을
컨트롤 하는 구문으로 보여집니다.

고수님들, 나름 확신을 가지고 썼지만 틀린 부분 있으면 콕 찝어주시면 감사하겠습니다^^

eezen의 이미지

GUI 메뉴로 해봤습니다.
시스템--관리-방화벽 열고서
메일 포트 추가하고 '적용'하면 해결되는 것 같습니다.

이 상태에서 iptables 파일을 열어보니

-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT

이렇게 한줄 추가되어 있군요.

monovision의 이미지

eltm6969 님은 누구세횽 ?
어디서 뵜던 분 같은데 ㅋㄷㅋㄷ

NpCA의 이미지

나름 개념을 쉽게 잡아놓았군요...허허
감사합니다.

댓글 달기

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