허브 없이 인터넷 공유 되나요? 컴퓨터 3대.

cheuel의 이미지

지금 집에 있는 시스템이요

리눅스 ( 서버 )
윈도우 XP (클라이언트1) 윈도우 2000 (클라이언트2)

인데요. 이번에 리눅스를 처음 설치를 하던터라서요. 아무생각없이
리눅스에다가 렌카드 3개 달구요. 다른 윈도우에다가 랜 1개씩 달았구요.

인터넷은 한통 ADSL 외장형이구요.

여기저기 돌아다니면서 인터넷 연결이랑 XP컴퓨터랑 인터넷 공유까지
해봤는데. 하나더는 도대체 어떻게 공유 해야 할지 모르겠네요;

리눅스 컴퓨터 eth1에다가 192.168.0.1 로 해놨구요
윈도우 XP 에서 192.168.0.10 으로 하고 게이트웨이 192.168.0.1로
해서 공유 시켰구요

eth2에다가 192.168.0.2 로 해놓고.
윈도우 2000에서는 192.168.0.11로 해놓고 게이트 192.168.0.2로
해서 핑테스트는 되는데 여기서는 인터넷은 안되더라구요.

셋다 DNS 는 168.126.63.1 해놨구요.

음 안되는건가요? 아니면 뭔가 설정이 부족한건가요?

송지석의 이미지

http://fedoranews.org/krishnan/tips/tip012.shtml
2004-01-15 Fedora Tips #12:
To share your internet connection:
In /etc/sysctl.conf set net.ipv4.ip_forward to 1 and then exec sysctl -p
Now exec

iptables -t nat -A POSTROUTING -s your_private_network -j MASQUERADE
Where your_private_network is the network address, for example 192.168.0.0/24 Then exec: services iptables save - submitted by Franco Catrin.
도움이 되실려나..

cheuel의 이미지

음 ... 영어라서 어렵네요; 초보인터라 무슨의미인지도
잘 모르겠구요;

/etc/sysctl.conf에서
net.ipv4.ip_forward 는 1로 되어있네요
그리고 sysctl -p 입력해봤더니. 안에 내용이
나오더라구요?

iptables -t nat -A POSTROUTING -s your_private_network -j MASQUERADE

이 부분에서 your_private_network 는 어떤주소를 적는건가요?

Then exec: services iptables save 이건 무슨 말인가요?

나를 완전히 죽이지 못한것은 나를 더욱 강하게 만든다.

cheuel의 이미지

아. 다시 해보니 핑테스트도 안되네요; 아까 핑테스트를 했었을때가 클라이언트2(윈도우2000)을 eth1에 연결했을때네요; eth2에 연결하니까 안되는듯.

위에 저것 해봤는데 무슨 역활을 하는건가요?

그리고 인터넷 아직 안되네요; (인터넷은 커녕 핑테스트도 안되고 있는 ... ;ㅁ;)

나를 완전히 죽이지 못한것은 나를 더욱 강하게 만든다.

dgkim의 이미지

우선 랜카드의 IP를 좀 조정하겠습니다.
eth0 -> ADSL 연결
eth1 -> 192.168.1.1/255.255.255.0
eth2 -> 192.168.2.1/255.255.255.0

PC1(eth1) -> 192.168.1.2
PC2(eth2) -> 192.168.2.2

다음으로 추가할 내용

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.1 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 192.168.2.1 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 192.168.0.0/16 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 0.0.0.0/0 -j MASQUERADE

마지막 줄은 제가 자신이 없습니다.
(유동 IP에서는 세팅해본 적이 없어서..)
dgkim의 이미지

글을 읽다보니. 제가 놓친 부분이 있어 답합니다.

말씀하신 내용이 PC한대는 연결해서 공유에 성공하신 건가요?

그렇다면 어떻게 성공하셨는지 좀 적어주시겠습니까?

cheuel의 이미지

한컴 리눅스 3.1인데요.

adsl_setup 였나? 라는걸로 adsl 설정해서 인터넷 연결했구요

그 다음에 eth1이랑 xp컴퓨터에 192.168.0.1 -> 192.168.0.10
으로 공유되게 해줬구요. 핑테스트 확인해보고

rc.firewall 스크립트(?) 파일(?) 만들어서 실행해줬구요

#!/bin/sh
#
# rc.firewall-2.4

# ppp0은 ADSL,modem 인터페이스, eth1은 내부이더넷
# ppp0을 EXTIF변수로 선언
# eth1을 INTIF변수로 선언
EXTIF="ppp0"
INTIF="eth1"

echo " External Interface: $EXTIF"
echo " Internal Interface: $INTIF"

# iptables와 ftp사용을 위한 모듈올리기
/sbin/insmod ip_tables
/sbin/insmod ip_conntrack
/sbin/insmod ip_conntrack_ftp
/sbin/insmod iptable_nat
/sbin/insmod ip_nat_ftp

# ip_forward위한 커널매개변수변경
echo "1" > /proc/sys/net/ipv4/ip_forward

# SLIP, PPP, or DHCP의 유동IP를 위한 커널매개변수변경
echo "1" > /proc/sys/net/ipv4/ip_dynaddr

# IP forwarding과 Masquerading 설정시작
# 기존에 존재하는 rule을 지우고, 새로운 룰을 적용하기위한 정책설정
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F

#iptables rule정책설정
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -A FORWARD -j LOG

# ip-masq설정
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

이렇게 했던것 같네요. 그리고 위에 처럼 아이피랑 바꾸고
iptables 4줄 입력했더니 핑테스트까지 되네요

아직 인터넷은 안되는것 같아요.

나를 완전히 죽이지 못한것은 나를 더욱 강하게 만든다.

cheuel의 이미지

이제 클라이언트2도 핑테스트는 확실하게 되는데 ...

클라이언트2는 여전히 인터넷이 안되네요;

음 파이어월문제인가요? 아니면 뭔가 설정이 더 필요한건가요?

나를 완전히 죽이지 못한것은 나를 더욱 강하게 만든다.

dgkim의 이미지

다시 정리하셔서
어떻게 했고 어디까지 되는지 좀 자세히 적어 주시겠습니까?

cheuel의 이미지

음. 한컴 리눅스 3.1을 설치했구요.

(서버컴) eth1 192.168.0.1 eth2 192.168.0.2
(클라이언트) 192.168.0.11 (클라이언트2)192.168.0.12

한 상태에서 리눅으세어 인터넷 연결후에 위에 적어놓은 rc.firewall 파일을
만들어서 실행해서 서버컴과 클라이언트의 인터넷을 공유했습니다.

이때까지. 서버컴이랑 클라이언트1번 공유 성공 클라이언트 2번과는 전혀
안되고 있던 상태구요.

그리고 dgkim님의 답글을 보고나서

eth0 -> ADSL 연결
eth1 -> 192.168.1.1/255.255.255.0
eth2 -> 192.168.2.1/255.255.255.0

PC1(eth1) -> 192.168.1.2
PC2(eth2) -> 192.168.2.2

로 바꿨구요.

한텀에서

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.1 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 192.168.2.1 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 192.168.0.0/16 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 0.0.0.0/0 -j MASQUERADE

입력하니까.

클라이언트1번 여전히 무사히 인터넷 공유중이구요 ( 현재 사용중 )
클라이언트2번은 핑테스트만 가능해 졌네요.

나를 완전히 죽이지 못한것은 나를 더욱 강하게 만든다.

dgkim의 이미지

클라이언트2는 어디까지 핑이 가능한지...

cheuel의 이미지

어디까지 핑이 가능한지 라는말이 무슨 말인지 잘 모르겠습니다;;;

나를 완전히 죽이지 못한것은 나를 더욱 강하게 만든다.

dgkim의 이미지

PC2에서 192.168.2.1까지 PING이 되는지

PC2에서 PC1(192.168.1.2)까지 PING이 되는지

PC2에서 외부(ex.. 168.126.63.1)까지 PING이 되는지

cheuel의 이미지

아 ..

192.168.2.2 (클라이언트2) 에서요

192.168.2.1 (eth2) 로 핑가능
192.168.1.1 (eth1) 로 핑가능
192.168.1.2 (클라이언트1)로 핑 불가능
168.126.63.1 (외부로) 로 핑 불가능

그리고 192.168.2.1에서 192.168.2.2 로도 핑 가능

하네요.

나를 완전히 죽이지 못한것은 나를 더욱 강하게 만든다.

dgkim의 이미지

라우팅 테이블과 iptables세팅내역을 좀 봅시다.

netstat -rn
iptables -L -n
iptables -t nat -L -n
cheuel의 이미지

위에 rc.firewall 파일을 조금 수정했더니 (이 덕택인지는 잘 모르겠음)
세 컴퓨터 다 인터넷은 되네요. 그런데 원래 클라이언트 컴퓨터 끼리는
연결이 안되는건가요? 클라이언트끼리는 핑테스트 안되네요.

#!/bin/sh

# ppp0은 ADSL,modem 인터페이스, eth1은 내부이더넷
# ppp0을 EXTIF변수로 선언
# eth1을 INTIF변수로 선언
EXTIF="ppp0"
INTIF="eth1"
INTIF2="eth2"

echo " External Interface: $EXTIF"
echo " Internal Interface: $INTiF"
echo " Internal Interface: $INTIF2"

# iptables와 ftp사용을 위한 모듈올리기
/sbin/insmod ip_tables
/sbin/insmod ip_conntrack
/sbin/insmod ip_conntrack_ftp
/sbin/insmod iptable_nat
/sbin/insmod ip_nat_ftp

# ip_forward위한 커널매개변수변경
echo "1" > /proc/sys/net/ipv4/ip_forward

# SLIP, PPP, or DHCP의 유동IP를 위한 커널매개변수변경
echo "1" > /proc/sys/net/ipv4/ip_dynaddr

# IP forwarding과 Masquerading 설정시작
# 기존에 존재하는 rule을 지우고, 새로운 룰을 적용하기위한 정책설정
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F

#iptables rule정책설정
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $EXTIF -o $INTIF2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -A FORWARD -i $INTIF2 -o $EXTIF -j ACCEPT
iptables -A FORWARD -j LOG

# ip-masq설정
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

나를 완전히 죽이지 못한것은 나를 더욱 강하게 만든다.

dgkim의 이미지

해결하셨다니 잘 하셨네요..

근데, 전 인터페이스보단 IP주소 단위로 설정을 하죠..

ps. 그리고 FORWARD설정은 잘 이해가 안 되네요..

cheuel의 이미지

뛰어쓰기해도 모양이 안맞길래; '-'로 뛰어쓰기 대신했습니다.

# netstat -rn

Destination--Gateway-Genmask------flos--mss-windows-irtt-Iface
ppp0에받은IP-0.0.0.0--255.255.255.255-UH---40--0--------0--ppp0
192.168.2.0 --0.0.0.0---255.255.255.0---U-----40--0--------0--eth2
192.168.1.0 --0.0.0.0---255.255.255.0---U-----40--0--------0--eth1
127.0.0.0 ----0.0.0.0---255.0.0.0-------U-----40--0--------0--lo
0.0.0.0 ------ppp0에받은ip-0.0.0.0----UG----40--0--------0--ppp0

# iptables -L -n

CHAIN INPUT (policy ACCEPT)
target------prop ....
(내용없음-)

Chain FORWARD (policy DROP)
target-----prot opt source--------------destination
ACCEPT--all -- 0.0.0.0/0--0.0.0.0/0------state RELATED,ESTABLISHED
ACCEPT--all -- 0.0.0.0/0--0.0.0.0/0------state RELATED,ESTABLISHED
ACCEPT--all -- 0.0.0.0/0--0.0.0.0/0
ACCEPT--all -- 0.0.0.0/0--0.0.0.0/0
LOG------all -- 0.0.0.0/0--0.0.0.0/0-------LOG flags 0 level 4

Chain OUTPUT (policy ACCEPT)
target------prot op ...
(내용 없음-)

Chain--RH-Lokkit-0-50-INPUT (0 references)
target-----prot opt source-----------------destination
ACCEPT--udp -- 168.126.63.2--0.0.0.0/0------udp spt:53 dpts:1025:65535
ACCEPT--udp -- 168.126.63.1--0.0.0.0/0------udp spt:53 dpts:1025:65535

# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target----------prot opt source-----destination

Chain POSTROUTING (policy ACCEPT)
target----------prot opt source-----destination
MASQUERADE--all -- 0.0.0.0/0-----0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target----------prot opt source-----destination

나를 완전히 죽이지 못한것은 나를 더욱 강하게 만든다.

dgkim의 이미지

띄어쓰기 안되는 것에 관해...

내용을 붙여넣기 하시고..
내용을 마우스로 끌어 선택하신후 위에 있는 Code버튼 누르시면 됩니다.

cheuel의 이미지

dgkim님 덕분에 허브없이 3대 컴퓨터 다 인터넷 공유 성공했습니다.^^

리눅스를 처음 설치해 보는터라!; 3일동안 잠도 제대로 못자고 리눅스 잡고 있는데 광명같은 빛을 내려 주셔서 감사합니다;ㅁ;

아직 클라이언트끼리 연결은 안되지만 인터넷은 성공했으니 이제 리눅스좀 버려두고 쉬어야 겠네요;;
(몇일동안 리눅스 안잡을듯;)

Ps. 그리고 forward 같은 경우는; 전혀 무슨 역활을 하는지도 모르지만 대충 틀을 봐서 저렇게 하면 될것 같아서 해봤습니다; 그래서 저도 모르겠어요( ..) 죄송

나를 완전히 죽이지 못한것은 나를 더욱 강하게 만든다.

댓글 달기

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