>> Edit article
이름
제목
패스워드
: 리눅스를 이용하여 방어벽과, 사내 가상ip를 부여하는 방법입니다. : o/s: wowlinux6.1 : masquerade, ipchains : 커널: 2.2.12-20kr : 작성: 오장석 2000/10/29 : : 1.masquerade 확인 : 기본적으로 linux를 설치하면 masquerade는 자동으로 설치가 된다. : 물론, 설치가 안되었을때에는 커널을 재컴파일해야한다. : 커널 컴파일시 masquerade부분은 http://member.home.net/ipmasq/에서 : masquerade KOREA HOWTO문서를 참조한다. : 자신의 서버에 masquerade가 설치되어있다면 : /proc/net/ip_masq폴더가 있을 것이다. : : 2.ipchains확인 : [root@pro ip_masq]# ipchains -L =>이것은 나의 서버 설정이다. : Chain input (policy ACCEPT): : Chain forward (policy DENY): : target prot opt source destination ports : MASQ all ------ 192.168.1.0/24 anywhere n/a : Chain output (policy ACCEPT): : [root@pro ip_masq]# : 위에서 forward부분이 없이 나올것이다. : : 3.masquerade를 위한 네트웍카드 설정 : 우선 사설ip를 이용하여 한개의 ip로 수십대의 pc를 연결하기위한 : 네트웍구상도를 살펴보겠다. : WAN(internet)-->router-->hub-->방어벽-->hub-->50대의 pc : router에서 직접 방어벽연결은 안될수도 있다. : : 위에서 router없이 linux서를 사용할 수도 있다. : 우선 대부분의 상황이 위와같다고 가정하고 설명을 하겠다. : : 방어벽서버에는 2개의 네트웍카드가 있어야한다. : 한개는 리얼ip를 위하여(router에서 들어온선을 연결) : 한개는 사설ip를 위하여(내부 hub에 연결) : 위2번에서 보는 거와같이 사설ip는 사설ip허용범위에서 임의대로 설정이 : 가능하다. : 지금은 192.168.1.0 부터 192.168.1.255까지 사용하겠다. : : 다음은 네트웍카드에 설정한 ip를 보여준다. : [root@pro ip_masq]# ifconfig : eth0 Link encap:Ethernet HWaddr 00:01:02:57:7C:5E : inet addr:210.111.111.5 Bcast:210.111.111.219 Mask:255.255.255.220 : UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 : RX packets:16876 errors:0 dropped:0 overruns:0 frame:0 : TX packets:8304 errors:0 dropped:0 overruns:0 carrier:0 : collisions:0 txqueuelen:100 : Interrupt:5 Base address:0xd000 : : eth1 Link encap:Ethernet HWaddr 00:01:02:56:CE:DD : inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 : UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 : RX packets:15283 errors:0 dropped:0 overruns:0 frame:0 : TX packets:12866 errors:0 dropped:0 overruns:0 carrier:0 : collisions:0 txqueuelen:100 : Interrupt:10 Base address:0xb800 : : lo Link encap:Local Loopback : inet addr:127.0.0.1 Mask:255.0.0.0 : UP LOOPBACK RUNNING MTU:3924 Metric:1 : RX packets:0 errors:0 dropped:0 overruns:0 frame:0 : TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 : collisions:0 txqueuelen:0 : : [root@pro ip_masq]# : eth0: 210.111.111.5(router와 연결) : eth1: 192.168.1.1(내부 컴퓨터 게이트웨이로 사용) : : 다음은 네트웍설정파일이다. : [root@pro sysconfig]# cat network : NETWORKING=yes : FORWARD_IPV4=yes : HOSTNAME=myserver.210.111.111.5 : GATEWAY=210.111.111.4 : [root@pro sysconfig]# : : /etc/sysconfig/network-scripts : : [root@pro network-scripts]# cat ifcfg-eth0 : DEVICE=eth0 : BROADCAST=210.111.111.219 : IPADDR=210.111.111.5 : NETMASK=255.255.255.220 : NETWORK=210.111.111.3 : ONBOOT=yes : [root@pro network-scripts]# : : [root@pro network-scripts]# cat ifcfg-eth1 : DEVICE=eth1 : BROADCAST=192.168.1.255 : IPADDR=192.168.1.1 : NETMASK=255.255.255.0 : NETWORK=192.168.1.0 : ONBOOT=yes : [root@pro network-scripts]# : : 위의 파일은 네트웍카드에 관한 각각의 정보이다. : eth1이 바로 내부ip를 받아 외부로 내보내는 네트웍카드의 설정이다. : eth0은 기존 네트웍설정파일과 같다. : : 4. 내부 사용자를 위한 설정 : 이제 내부사용자가 ftp,www,icq등을 사용할 수 있게 서비스 관련 패킷을 : 허용하기 위한 설정이다. : 일단 /etc/rc.d/에 rc.firewall이라는 파일을 만들고 : 다음과 같이 입력하면된다. : [root@pro rc.d]# cat rc.firewall : #!/bin/sh : /sbin/depmod -a : /sbin/modprobe ip_masq_ftp : /sbin/modprobe ip_masq_irc : : : echo 1 > /proc/sys/net/ipv4/ip_forward #==>ip forward이것을 해야 인터넷을 : 사용할 수 있다. : : /sbin/ipchains -P forward DENY #모든 forward패킷을 막는다. : /sbin/ipchains -A forward -s 192.168.1.0/24 -j MASQ #허용대역의 ipforward : 를 허용한다. : [root@pro rc.d]# : 위의 /sbin/설정부분은 패킷을 허용하는 것이다. : http://member.home.net/ipmasq/사이트를 참조하라. : : 위의 설정을 마치고 ./rc.firewall하면 masquerade가 동작한다. : 컴 부팅시에 자동으로 실행할려면 /etc/rc.d/rc.local마지막부분에 : /etc/rc.d/rc.firewall부분의 추가하면된다. : : 5.내부 사용자 컴 설정 : 바탕화면--> 네트웍-->tcp/ip설정 : BROADCAST=192.168.1.255 : IPADDR=192.168.1.1 : NETWORK=192.168.1.0 : 위의 ip를 재외한 192.168.1.0 에서 255까지 사용가능 : ip : 192.168.1.2 : 서브넷마스크: 255.255.255.0 : dns: realip에 부여된 dns : gateway: 192.168.1.1 => 여기가 중요하다.이것은 방어벽의 내부 네트웍카드 : 의 ip이다. : 저장하고 나온다.(컴재부팅) : : 6. 설정확인 : ipchans 확인 : #ipchans -L : 위의 2번항목이 나오면 성공한것이다. : : 이제 방어벽서버에서 내부컴으로 ping을 해보자 : [root@pro rc.d]# ping 192.168.1.2 : PING 192.168.1.3 (192.168.1.2) from 192.168.1.1 : 56(84) bytes of data. : 64 bytes from 192.168.1.2: icmp_seq=0 ttl=128 time=0.4 ms : 64 bytes from 192.168.1.2: icmp_seq=1 ttl=128 time=0.2 ms : 64 bytes from 192.168.1.2: icmp_seq=2 ttl=128 time=0.2 ms : : [1]+ Stopped ping 192.168.1.2 : [root@pro rc.d]# : 이제 잘되는가? 그럼 www.eweb21.com으로 브라우저에서 접속을 해보자 : 잘되는가? 그럼 성공한 것이다. : : 지금까지 masquerade와 ipchains를 사용하여 공인 ip한개로 수십에서 수백개의 : 컴을 인터넷에 연결하는 작업을했다. : 위와같은 방어벽으로 사용하는 firewall컴은 고 사양이 아니라도 된다. : 실제 하는일은 ip를 바꾸어주는 역할이다.하지만 만은 파일업로드가 있는 : 회사에서는 메모리를 높게하는 것이 좋다. : 실제로 ipchains은 패킷필터링을 상요하기때문에 위의 설정말고 : 많은 설정을 사용하여 보다 강한 방어벽을 설정할 수있다. : : 7. 끝인사. : : 수고했다. 만약본인이 더욱 괜찮은 방어벽을 구성하였다면 게시판에 등록해주기 : 바란다. : : : : : : : : 안녕하세요? 고수분들 고수분들의 조언을 얻고자 이렇게 글을 올립니다. : : 전 학교에서 랜을 이용해 작은 네트웍을 구성해 볼려구 하는 학생인데요. : : 사설아이피를 분배해주는 리눅스 박스에는 랜카드가 두개가 들어가잖아요? : : 맞죠? 맞을 거예요. : : 근데 문제는 이 두개의 랜카드에 아이피를 어떻게 분배를 해야하죠? : : 여러가지 자료(kldp.org)를 찾아 보았는데, 라우터를 사용해서 사설 네트웍 : : 을 구성하는 방법밖에 안나와서 난감해요. : : 제가 할려는건 우리 방으로 들어오는 하나의 랜선(1개의 공인ip)으로 두대의 : : 컴퓨터가 더 인터넷을 사용할수 있게 만들려 하거든요.(hub 사용 말구요=>방 : : 화벽도 사용해 볼려구요.^.^) : : 근데, 리눅스 박스에 2개의 랜에 똑같은 아이피(공인 ip)를 부여하니까 아예 : : 접속이 안되거든요. 제발 고수분들 답변도 부탁 드릴께요. : : 이걸 준비하면서 나름대로 ipmasq,ipportfw,squid,firewall등을 공부했는데, : : 처음부터 막혀버리네요. 부탁드릴께요. : : 이걸 읽으시는 분들 복받을 꺼예요. 모두 건강하세요.
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved