[질문] linux + 외부에서 아파치에 접속하고 싶습니다.

smileng의 이미지

안녕하세요.
현재 pc1(Linux)을 라우터로 사용합니다.
pc2(Solaris)에서는 Apache가 돌고 있습니다.

사설망----PC1(라우터)----허브(3com)----pc2(아파치)
pc2 IP: 192.168.0.2

목적은 pc1의 9000포트로 들어오는 패킷을 pc2의 아파치 포트 80으로 맞물리게 하려고 합니다. 외부에서 pc2번으로 접속하고 싶습니다.
그래서 rc.firewall-2.4 에 다음을 추가했습니다.

(1)
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 9000:9000 -j DNAT --to 192.168.0.2
이것만 추가해주면 될까요?

(2)
pc2를 재부팅하지 않고 포트포워딩룰을 적용할 수 있나요?
쉘에서 어떤 명령을 내려주면 되나요?

그럼...즐거운 주말 보내세요.^^

redbaron의 이미지

Quote:
6.2 목적지 NAT
이것은 PREROUTING 체인에서 패킷이 들어오기 바로 직전에 이루어 집니다. 이것은 리눅스 박스 자체에서는 들어오는 패킷의 '실제' 목적지를 알게 된다는 것을 의미합니다. 이것은 또한 '-I' (들어오는 인터페이서) 옵션을 사용할 수 있음을 의미합니다.

지역 네트워크에서 생성된 패킷의 목적지를 조작할려면 출력 체인을 이용하면 가능한데, 이것은 거의 사용되지 않습니다.

목적지 NAT 는 '-j DNAT' 를 사용함으로 지정할 수 있고 '--to-destination' 옵션으로 IP 주소, IP 주소의 범위, 포트나 포트의 범위(UDP 와 TCP 프로토콜에서만)를 지정할수 있습니다.

## 목적지 주소를 5.6.7.8로 바꾸기
# iptables -t nat -A PREROUTING -i eth1 -j DNAT --to 5.6.7.8

## 목적지 주소를 5.6.7.8 이나 5.6.7.9 또는 5.6.7.10으로 바꾸기
# iptables -t nat -A PREROUTING -i eth1 -j DNAT --to 5.6.7.8-5.6.7.10

## 웹 트래픽의 목적지 주소를 5.6.7.8의 8080 포트로 바꾸기
# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 \
-j DNAT --to 5.6.7.8:8080

## 1.2.3.4로 가는 지역 패킷을 loopback으로 재설정 하기
# iptables -t nat -A OUTPUT -d 1.2.3.4 -j DNAT --to 127.0.0.1

방향 재설정
목적지 NAT 중의 특수한 경우로 마스쿼레이딩이 있습니다. 이것은 들어오는 인터페이스의 주소로 DNAT를 이용하는 것과 정확히 일치하는 것으로 단순한 편의성을 위한 것입니다.

## 들어오는 80 포트의 웹 정보를 squid (투명한) 프록시로 보내기
# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 \
-j REDIRECT --to-port 3128

를 참조하시기 바랍니다.
http://wiki.kldp.org/wiki.php/LinuxdocSgml/2.4_NAT-TRANS 입니다.

물론..재부팅안하고 당연히 가능합니다. iptables만 restart 해주시면 됩니다.

댓글 달기

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