<pre>
/////// 만든 이유 ///////
1. 해보고 싶어서,
2. UTP케이블이 짧아서,
3. NetCraft의 레이다를 피하기위해서..
/*다 거짓말임..
*사실 위에서 시켰음.
*'보안적인차원에서 리눅스섭과 윈도우로 외부망에서 접근몬하게 해보게나,,'라는 한마
디에 *빼이 쳤다는..
;
*/
/////// 방화벽 망 구조 ///////
=== 외 부 망 ===
||
||
||
ed1 155.230.157.(85,93,94,100)
[NAT머신: FreeBSD 4.3-RELEASE]
rl0 172.31.0.6
||
||
||
[스위칭 허브]
-+---[Win2000 172.31.0.1]
+---[Windows98 172.31.0.2]
+---[Win2000 172.31.0.3]
+---[Linux섭 172.31.0.4]
/////// NAT머신(FreeBSD) 커널설정과 설정파일 편집하기 ///////
a. 커널설정
options IPFIREWALL
options IPDIVERT
#위의 두줄 추가후 열나게 컴팔후 재부팅..
#NAT을 위해 필요한거라고 어디선가 주워들었음..
;
b. /etc/rc.conf 편집
#자세한건 나도 잘모름.. http://www.kr.freebsd.org에서 빼꼈음
;
defaultrouter="155.230.156.5"
network_interfaces="ed1 rl0 lo0"
hostname="izb.knu.ac.kr"
ifconfig_ed1="inet 155.230.157.93 netmask 255.255.252.0"
ifconfig_ed1_alias0="inet 155.230.157.94 netmask 255.255.252.0"
ifconfig_ed1_alias1="inet 155.230.157.85 netmask 255.255.252.0"
ifconfig_ed1_alias2="inet 155.230.157.100 netmask 255.255.252.0"
ifconfig_rl0="inet 172.31.0.6 netmask 255.255.255.248" #이건 볼펜으로 계산했음..
inetd_enable="YES"
kern_securelevel_enable="NO"
sendmail_enable="YES"
linux_enable="YES"
tcp_extensions="YES"
sshd_enable="NO"
usbd_enable="NO"
rpc_statd_enable="NO"
portmap_enable="NO"
#아래는 NAT을 위한 부분..
gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
natd_enable="YES"
natd_interface="ed1"
natd_flags="-f /etc/natd.conf"
c. /etc/natd.conf 편집
#모두다 리눅스섭을 위한것임..
redirect_port tcp 172.31.0.4:21 155.230.157.100:21
redirect_port tcp 172.31.0.4:80 155.230.157.100:80
redirect_port tcp 172.31.0.4:7777 155.230.157.100:7777
d. /etc/rc.firewall 편집
#역시 http://www.kr.freebsd.org에서 빼꼈음..
;
#이거만 있어도 클라이언트(윈도우계열)의
#웬만한 웹서핑은 지장없다고 주워들었음,,
#!/bin/bash
/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via ed1
/sbin/ipfw add pass all from any to any
e. /etc/services 에 반드시 있어야 될것
#아래것이 없으면 직접 써넣어야 함.. 이유는 나도 잘 모름..
;
#첨에 쓸데없는것 같아서, 지웠다가 한 12시간동안 영문도모르고 빼이 쳤다는..
;
natd 8668/divert # Network Address Translation
f. 그리고 2~3회정도 재부팅을 함..
#에러메시지 뜨나 안뜨나를 보기위해서라는,,
;
#설정된 TCP/IP상태 보기
# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 172.31.0.6 netmask 0xfffffff8 broadcast 172.31.0.7
ether 00:30:4f:06:7c:9d
media: autoselect (none) status: active
supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP 100baseT
X <hw-loopback> ed1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 155.230.157.93 netmask 0xfffffc00 broadcast 155.230.159.255
inet 155.230.157.94 netmask 0xfffffc00 broadcast 155.230.159.255
inet 155.230.157.85 netmask 0xfffffc00 broadcast 155.230.159.255
inet 155.230.157.100 netmask 0xfffffc00 broadcast 155.230.159.255
ether 00:50:4d:00:5d:f3
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.
.1 netmask 0xff000000
# netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 155.230.156.5 UGSc 34 8434 ed1
127.
.1 127.
.1 UH 1 143 lo0
155.230.156/22 link#2 UC 0 0 ed1 =>
172.31/29 link#1 UC 0 0 rl0 =>
/////// 클라이언트 TCP/IP셋팅하기 ///////
a. Win2000 ip_addr 172.31.0.1
netmask 255.255.255.248
gateway 172.31.0.6
DNS 155.230.157.93
b. Windows98 ip_addr 172.31.0.2
netmask 255.255.255.248
gateway 172.31.0.6
DNS 155.230.157.93
c. Win2000 ip_addr 172.31.0.3
netmask 255.255.255.248
gateway 172.31.0.6
DNS 155.230.157.93
d. Linux(섭) ip_addr 172.31.0.4
netmask 255.255.255.248
network_addr 172.31.
broadcast_addr 172.31.0.7
gateway 172.31.0.6
DNS 155.230.157.93
e. 역시 클라이언트들을 한번씩 재부팅해줌..
#특히 리눅스는 2번해줌.. 섭이기에 쪼매 주의를 요한다는,,
;
/////// 테스트하기 ///////
#각 요소에서 내부망 또는 외부망으로 ping을 날려봄.. [OK]
#외부망에서 내부망에 있는 리눅스섭의 21,80,7777포트로 접근해봄 [OK]
#기타 필요한거 다 테스트해봄.. 이상이 발견되면 후다닥 조취를 취해야함..
#테스트결과 내부망에서 내부망의 리눅스섭의 홈피에 접근이 안됨,,
#그래서 내부망을위해 DNS의 zone파일에 리눅스섭의 사설IP(172.31.0.4)를 추가했음..
[root@Zeus etc]# cat zone-dongari.knu.ac.kr
$TTL 600
@ IN SOA Zeus.izb.knu.ac.kr. root.izb.knu.ac.kr. (
1998122801 ;Serial
21600 ;Refresh ( 6 hours)
1800 ;Retry (30 minutes)
1209600 ;Expire (14 days)
86400) ;Minimum ( 1 day)
IN NS Zeus.izb.knu.ac.kr.
IN NS Hera.izb.knu.ac.kr.
IN MX 0 @ ; Mail Routing Host
; Hosts Here - This is comments
@ IN A 155.230.157.100
IN A 172.31.0.4
IN HINFO "Intel(R) Pentium(R) 4 CPU 1700MHz" "Enigma/Linux-2.4.18"
IN TXT "Professional Server for DONGARI"
* IN CNAME @
[root@Zeus etc]#
////// 덧붙임 ///////
#이 방화벽(FreeBSD)은 웹서버로 사용이 되기때문에 외부에 노출되어있음..
#그래서 허접 방화벽임,,
;;
후다닥~~~
</pre>