RHEL AS 4.0에서는 IP-masquerading은 어떻게 하나요?

hydrol88의 이미지

리룩스 초보자입니다. 너무 기본적인 개념이라고 노여워하지 마세요.

질문 1: 전 리룩스는 RHEL AS 4.0를 쓰고 있습니다. 최신것이라서 사용했는데 매스커레이딩을 메뉴얼에서 전혀 찾아볼수가 없네요. 뭐 다른 방법으로 대체된 것입니까? 페도라에서는 계속 사용하고 있는 것 같은데...
기본적으로 DHCP서버를 사용하려면 매스커레이딩을 해야하는 것 맞죠. 그런데 레드햇엔터프라즈 4.0 메뉴얼에는 전혀 언급이 없네요.

여기 저기 컬럼이나 서취를 통해 매스커레이딩 기법을 이용려고 했는데 잘 않되고 점점 짜증만 늘어가네요. 기본적으로 개념을 못잡은 상태에서 커널과 리룩스에 따라 다른 여러가지 방법이 있어 따라해보지만 전혀 PC로 사설아이피를 전혀 포워딩시키지 않습니다.

제가 지금까지 공부한 바로는 매스커레이딩은 하부PC에 사설아이피를 주려면 꼭 설정해야 하는 것으로 알고 있습니다. 옛날에는 ipchains로 매스커레이딩하였으나 커널이 2.4로 오면서 iptables로 포워딩 되는 명령어을 주는 것이 맞습니까?

질문 2: 제 리룩스박스에서 전화회사로 부터 DHCP로 아이피를 받게 되면 하부에 연결된 피씨로 아이피를 포워딩 시킬 수 있나요?
연결은 다음과 같습니다.
전화선 아울렛-모뎀(참고 미국bellsouth전화회사)-(eth0)서버박스(eth1)-라우터(D-link)-PC입니다.

문제는 전 그냥 랜카드 중 eth0은 DHCP(IP 192.168.1.97)로 활성화가 된 상태입니다. eth1는 아직 활성화가 되어있지않고요. 아이피를 받아올 수 없어서 활성화가 않됩니다. eth0도 물론 전화 회사로 접속하면 68.155.165.69이라는 것을 확인할 수 있지만 자꾸 바뀌네요. 그래서 static ip로 줄 수가 없습니다. 일단 static ip로 1~2시간은 되네요. 또 않되면 아이피가 바꿔졌네요. 이 회사는 자주 아이피를 바꾸고 있는 것 같아요. 이럴때는 어떻게 해야 하는지요?

질문 3: 레드햇엔터프라이즈 4.0에서 매스커레이딩을 어디서 할 수 있는지 아니면 좀 진보된 다른 기능들이 있는지 좀 알려주세요. 거의 2주째 진전이 없습니다.

관련된 레드햇 엔터프라이즈 4.0이나 3.0 메뉴얼도 좀 링크시켜주세요. 감사합니다.

freelinux의 이미지

예전에 redhat9 시절에 쓰던 기록인데요 참고해보셔요, 지금은 귀찮아서 공유기쓰고요, 참 혹시 되거나 이해 안되시는 부분이 있으면 다시 글 올리세요.
좀 엉터리라도 이해하시고요, 좋은 주말되세요!

# IP-Masquerading
하나의 인터넷회선을 통하여 다른 머신을 인터넷을 사용하도록 하는 기법중 Ip마스커레이딩이라는 것이 있다.
이는 매우 유용한 기법으로 반드시 알아두어야 할 것이다.
커널 2.4대를 사용하는 RedHat 9의 경우 는 아래와 같이 설정하면 된다.
먼저 /etc/sysconfig/network에서 아래와 같이 설정하여 포워딩 기능을 추가한다.
NETWORKING=yes
FORWARD_IPV4=yes
그 후 /etc/rc.local(또는 /etc/rc.d/rc.local)에 아래와 같이 추가한 다음 리부팅한다.
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ipt_MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/iptables -A FORWARD -i eth0 -o eth0-j REJECT
/sbin/insmod ip_conntrack_ftp
/sbin/insmod ip_nat_ftp
부팅 후
cat /proc/sys/net/ipv4/ip_forward 하여
#1 이면 끝!

#Dhcp 사용법
dhcp는 서버에서 클라이언트에 자동으로 ip를 배정하여주도록 하는 방식이다.
dhcp 서버를 운영하기 위하여는 먼저 dhcp 관련 패키지를 설치한 후 /etc/dhcpd.conf
파일을 다음과 같이 설정한 후 데몬을 재 가동시켜주면 된다.
# Sample /etc/dhcpd.conf
# (add your comments here)
ddns-update-style ad-hoc;
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.10 192.168.0.254;
}

hydrol88의 이미지

첫번째 IP-Masquerading을 말씀해주신 방법대로 하니까 다음과 같이 실행이 되었습니다.
[root@hydraulics ~]# cat /proc/sys/net/ipv4/ip_forward
1

다음으로 제가 처음 들어오는 아이피가 192.168.이라서 128.100으로만 바꾸고 시도해봤지만 다음과 같은 메세지만 나오네요.
[root@hydraulics ~]# /etc/rc.d/init.d/dhcpd start
dhcpd (을)를 시작합니다: Internet Systems Consortium DHCP Server V3.0.1
Copyright 2004 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Can't open lease database /var/lib/dhcp/dhcpd.leases: Permission denied --
check for failed database rewrite attempt!
Please read the dhcpd.leases manual page if you
don't know what to do about this.

If you did not get this software from ftp.isc.org, please
get the latest from ftp.isc.org and install that before
requesting help.

If you did get this software from ftp.isc.org and have not
yet read the README, please read it before requesting help.
If you intend to request help from the dhcp-server@isc.org
mailing list, please read the section on the README about
submitting bug reports and requests for help.

Please do not under any circumstances send requests for
help directly to the authors of this software - please
send them to the appropriate mailing list as described in
the README file.

exiting.
[실패]

그리고 다음을 실행시키면
[root@hydraulics ~]# /etc/rc.d/init.d/network restart
인터페이스 eth0 (을)를 종료함: [ 확인 ]
인터페이스 eth1 (을)를 종료함: [ 확인 ]
loopback 인터페이스를 종료함: [ 확인 ]
IPv4 패켓 포워딩을 종료하고 있습니다: [ 확인 ]
네트워크 매개 변수를 설정하고 있습니다: [ 확인 ]
loopback 인터페이스 활성화중 입니다: [ 확인 ]
eth0 인터페이스 활성화중 입니다: [ 확인 ]
eth1 인터페이스 활성화중 입니다:
eth1에 관한 IP 정보를 얻고 있습니다... 실패.
[실패]

아.. 뭐가 문제일까요? 매스커레이드 설정하고 eth0과 eth1 양쪽에 DHCP로 랜을 잡았습니다. 이 두개만 잡으면 하부PC에서 인터넷 되는 것 맞는거죠?? 한국같은면 그냥 학원에라도 등록해서 알아낼텐데... 답답합니다.
eth1는 아직 랜카드가 활성화가 않되어있는데 앞쪽의 매스케레이드 잡고 다시부팅하거나 /etc/rc.d/init.d/network restart 를 실행시키면 활성화되야하는 것이 맞죠.

freelinux님 뭐가 문제인가요? 답변기다리겠습니다. 감사합니다.

freelinux의 이미지

제가 이해한 것이 맞나 먼저 보셔요
eth0에 맞추어 dhcpd를 설정하셨다는 이야기죠?
dhcpd는 eth1에 맞추어 설정하시는 것입니다.
즉 eth0는 외부에서 ip를 동적으로 받아오니까 그냥
두셔요. ip가 무엇이든지....
단 eth0는 ipforwarding으로 외부세계로 eth1에게
봉사를 하는 것이죠.
이제 eth1이 할일이 있는데요, 다른 pc 에 dhcpd로
역할을 해야죠. 따라서 eth1은 다른 pc의 gateway가
되야하므로 고정ip가 되야합니다.
# Sample /etc/dhcpd.conf에서 이부분 처럼 되야 합니다.
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
subnet 192.168.0.0 netmask 255.255.255.0
즉 dhcpd서버의 gateway이므로 192.168.xxx.1 등으로
하고(예제는 eth1의 ip는 192.168.0.1이죠.)
이 dhcpd가 줄수있는 ip를 아렇게 범위를 설정하는 것이지요
range 192.168.0.10 192.168.0.254
따라서 eth1에 고정ip를 주세요, 그리고 그 ip를 기준으로 dhcpd의
제공할 ip 범위를 정하시고요, 그러면 아마 ok^^
참 고정ip 주는 방법은 아시겠죠? 너무 늦게 답변을 드려 죄송합니다.
즐거운 일요일 되세요!

hydrol88의 이미지

기말때문에 제가 인제 확인했습니다.
그런데 궁금한 점은 eth0을 dhcp나 고정아이피로 잡지 않고 어떻게 랜을 활성화시킬 수 있나요? 궁금합니다.
방금 말씀해주신 방법대로 해보았지만 eth0도 먹통이 되어버립니다. 제 생각엔 아이피 충돌이 일어나는 것 같아요.
다시 정리하면 eth0은 dhcp, eth1은 고정아이피를 넣어주는 것 맞나요? 지금 D-link 라우터에서 나가는 것인데...

감사합니다. 다시 한번 해보겠습니다. 잘 되면 답글 올리겠습니다.

eezen의 이미지

eth0는 외부의 dhcpd에서 주소를 받아오고(68.155.165.)

내부의 dhcpd는 eth1(192.168.)의 네트워크에서 돌아가는 것으로 이해됩니다.
그렇다면 두 개의 dhcpd 를 혼동하신 것은 아닌가요?

위의 freelinux님 글이 맞는 것 같습니다.

freelinux의 이미지

하도 연락이 없길래 mac으로 전향하셨나 했네용! ㅋㅋㅋ!
eth0는 외부 dhcp로 외부의 ip를 가져오고요, eth1은 내부에서 static으로 하는 것이 맞습니다.
주의 사항은 selinux는 disabled 시키시고요, 설정후 종료, 커피 한잔 마시고 다시 booting하는 멋을......
##
혹시나 해서요, utp cable의 종류는 맞는지 확인하셔요.(direct or cross)

freelinux의 이미지

우선은 열심히 해보시고요 firewall 과 관련 Red Hat Enterprise Linux 4
보안 가이드에 nat 관련사항이 있으니 참고하세요
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ko/security-guide/index.html
의 7장 방화벽 7-4 참조하세요.

hydrol88의 이미지

요새 기말고사, 텀프로젝트 등으로 바빠서 잘 들어올수가 없어서요.
내일도 밤새야 하는데 지금 새벽 2시반인데 컴퓨터와 씨름하고 있습니다.

너무나 죄송합니다. 또 질문이 있습니다. freelinux님 말씀처럼 selinux를 설정을 지웠습니다. 그리고 다시 부팅했습니다. 그런데 eth1 활성화과정중 192.168.0.1은 이미 다른 네트워크에서 사용중이라는 메세지가 나오면서 실패화면이 뜹니다.

제 생각에는 모뎀을 거치면서 벌써 ip 192.168.1.97, 게이트웨이 192.168.1.254이라는 사설아이피를 eth0에서 받기때문에 실패화면이 뜨는 것 같습니다. 사설아이피는 보통
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
를 쓴다고 들었습니다. 만약에 10.0.0.0 ~ 10.255.255.255 또는 172.16.0.0 ~ 172.31.255.255영역 것을 쓴다면 dhcpd.conf 와 아이피설정을 어떻게 바꿔야 하나요?

아... 전화선 아웃렛-(모뎀)-eth0()eth1-(D-link 라우터)-PC --> 모두 다이렉션 케이블썼습니다. 제가 알기로는 보통 컴퓨터 - 컴퓨터 인 경우에 크로스케이블을 쓰고 컴퓨터 - 라우터의 경우에는 다이렉션 케이블을 쓰는 것 맞나요? 그래서 제 경우는 모두 다이렉션 케이블을 사용했습니다. 아참, 그리고 D-link wireless router 802.11g/2.4Ghz인데 특별히 설정하는 부분이 있는지요?

감사합니다.

hydrol88의 이미지

너무나 자상한 답변 감사드립니다.
일단은 다음과 같이 해보았습니다.

"/etc/rc.local"설정은 다음과 같이 했습니다.

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe ipt_MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/iptables -A FORWARD -i eth0 -o eth0 -j REJECT
/sbin/insmod ip_conntrack_ftp
/sbin/insmod ip_nat_ftp
~
~
~
~
~
~
~
~
~
~
~
"/etc/rc.local" 12L, 414C

"/etc/dhcpd.conf"설정은 다음과 같이 했습니다.

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.255.255.255;
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;

subnet 10.0.0.1 netmask 255.255.255.0 {
range 10.255.255.10 10.255.255.254;
}
~
~
~
~
~
~
~
~
~
~
~
~
~
"/etc/dhcpd.conf" 10L, 261C

이렇게 하고 고정아이피로 eth1에 주소 10.0.0.0, 서브넷마스크 10.0.0.0, 기본게이트웨이 255.255.255.0으로 했습니다.
이렇게 하니까 두개가 활성화되어도 두개 모두다 인터넷이 연결되지않았던 현상은 없어져서 eth0쪽으로는 인터넷이 잘되네요. 아직 eth1쪽 PC는 아직 문제가 있는듯 무반응입니다.

위의 답글도 한번 공부해야겠네요. 감사합니다.

freelinux의 이미지

사무실인데 급하게 고쳐 볼께요
"/etc/dhcpd.conf"설정은 다음과 같이 하세요.
중요:바로 아래 내용은 반드시 기재하세요
ddns-update-style ad-hoc;
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;

subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.254;
}

다음으로 eth1의 ip 10.0.0.1 네트워크 10.0.0.0
게이트웨이 10.0.0.1 서브네마스크 255.255.255.0

freelinux의 이미지

ddns-update-style ad-hoc;
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option routers 192.168.10.1;
option domain-name-servers 192.168.10.1;

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.0 192.168.10.254;
}

다음으로 eth1의 ip 192.168.10.1 네트워크 192.168.10.0
게이트웨이 192.168.10.10 서브네마스크 255.255.255.0

hydrol88의 이미지

freelinux님의 말씀대로 해 보았는데 일단 모든 인터넷이 다 불가능해주더군요.
인터넷 연결을 위해 브라우저를 뜨우면 w에 접속을 시도는 도중 연결이 거부되었습니다. 라는 메세지가 나옵니다.
혹시나 싶어서 PC에서도 dhcp에서 고정아이피로 주어봤는데 마찬가지입니다. 궁금한 점은 라우터를 통해 들어오는 아이피는 PC에서는 dhcp로 줘야 하는 것 같은데 pc에서 아이피가 196.168.0.1로 되어있습니다. 제생각에는 리룩스 박스에서 아이피가 잘 나가고 있질 않은 것 같습니다.
회사에서 일하시는 분 제가 방해한 것 같네요.
어쨌든 대단히 감사드립니다. 저도 다시 해봐야겠습니다.

freelinux의 이미지

안보고 할려니 어렵네요, 그렇다고 외국이라니 통화도 그렇고 ?
오늘 안되면 메신저로 채팅이라도해야 할지.....

자 그럼 점검 좀 해보죠, ifconfig 결과 점검 하시고요,
eth0가 dhcp로 되어 있는지 부여 받은 유동 ip는 무엇인지,
eth1은 static인지, 여부
또한 eth1 을 살펴보면 일반적으로 broadcast는 끝주소가 255고요
network은 0, gateway는 자기ip 입니다
또한 "/etc/dhcpd.conf" 에 반드시 ddns-update-style ad-hoc;
넣으셔야 됩니다
eth0과 eth1은 서로 ip범위(?)가 달라야 합니다
즉 192.168.0.1 이라면 192.168.10.1이라든지 10.0.0.1같이 달라야
하고요,
"/etc/dhcpd.conf" 내용은 eth1을 기준으로 일정 범위의 유동 ip를
준다는 이야기죠.
잘 안되면 win xp로 해보는 실험해 본뒤 하는것도 도움이......
정 안되면 메신저래도 날잡아서 .......
일단 차분히 점검하시고 점검내역을 보내주세요
이만

hydrol88의 이미지

파이널때문에... 늙어서 공부하려니..
시험 끝나서 해보고 다시 조언을 구하겠습니다.
지금은 네트워크보다는 포트란으로 제 연구도 해야해서.. 어쨌든 감사드립니다.

댓글 달기

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