[FreeBSD ¨Ï¥Î ipfilter ¨Ó¬[ nat]

[²Ä¤@³¡ «e¨¥][²Ä¤G³¡ Àô¹Ò¤¶²Ð][²Ä¤T³¡ ¦w¸Ëµ{§Ç][²Ä¤T³¡ ipnat «ü¥O»¡©ú]
[²Ä¥|³¡ ª`·N¨Æ¶µ¡®«á°O]

[ÃöÁä¦r¤¶²Ð][¥»¤åÃC¦âªí¥Ü]

±j¯P«ØÄ³¡A¥ý¦Ü¡§¥»¤åÃC¦âªí¥Ü¡¨²M·¡¥»¤åÃC¦â°Ï¤À¤è¦¡

¤@¯ë¦b FreeBSD ¤W§¡¬O¨Ï¥Î ipfw/natd ¨Ó¬[³] nat ¤Î firewall¡A¨ä¹ê¦b FreeBSD ¤¤¥t¦³­Ó¬Û·í¤£¿ù¡BÃþ¦üªº³nÅé => ipfilter¡A²{¦b´NÅý§Ú­Ì§Q¥Î ipfilter ¨Ó¬[ nat¡C

 

²Ä¤@³¡ Àô¹Ò¤¶²Ð
1. ¨Ï¥Î¤G±i¿ÀÃɺô¸ô¥d¡Arl0 ¹ï¥~¡Arl1 ¹ï¤º¡C
2. ¨ä¤¤ rl0 ¹ï¥~ ip 61.219.230.5
3. rl1 ¹ï¤º 192.168.88.99
4. ¤º³¡¨Ï¥Î ip ½d³ò¬° 192.168.88.0/24¡A¨ä¤¤ 192.168.88.99 ¬O¥Î¦b nat ¹ï¤º

 

²Ä¤G³¡ ¦w¸Ëµ{§Ç
¥[¤@¤ù¹ï¤ºªººô¸ô¥d

­Y§A­ì¥»¥u¦³¤@±iºô¸ô¥d¡A§A´N»Ý­n¦b¥[¤W²Ä¤G±iºô¸ô¥d¡C

¦b /etc/rc.conf ÀÉ¥[¤W rl1 ºô¸ô¥d¸ê®Æ¤¤¥[¤J

ifconfig_rl1="inet 192.168.88.99 netmask 255.255.255.0"

 

­×§ï¬ÛÃö³]©w
­×§ï /etc/rc.conf ÀÉ¡A¥[¤W(©Î­×§ï)¥H¤U¸ê®Æ
firewall_enable="NO" -> ª`·N¬O no ¤£¬O yes
gateway_enable="YES"
­«·s½sö®Ö¤ß

¦] ipfw ©M ipfilter ¤£¯à¦@¦s¡A©Ò¥H¦pªG§A¬O¨Ï¥Î ipfw ªº¸Ü¡A½Ð±N®Ö¤ß¤¤¦³Ãö ipfw ªº³¡¥÷ mark ±¼¡A¦p¥H¤U¡G

#options IPFIREWALL <- ±N³o³o¤G¦æµù¸Ñ±¼¡C
#options IPDIVERT
options IPFILTER ¡@¡@<-¥[¤J³o¤G¦æ¡C
options IPFILTER_LOG

 

 

 

¥[¤J«á°O±o­«·sMake ®Ö¤ß³é¡I

³]©w¤@­Ó ipnat ³]©wÀÉ(ÀɦW¥i¦Û¨ú¡A¥H /etc/ipnat.conf ¬°¨Ò)

# cd /etc
# ee ipnat.conf
¦b³o­ÓÀɮפ¤¡A¥[¤J¥H¤U¤G¦æ¸ê®Æ
map rl0 192.168.88.0/24 -> 61.219.230.5/32 portmap tcp/udp 10000:65000
map rl0 192.168.88.0/24 -> 61.219.230.5/32

# cd /etc
# vi ipnat.conf <- ¥Î¦Û¤v²ßºDªº¤å®Ñ½s¿è¾¹½s¿è
¦b³o­ÓÀɮפ¤¡A¥[¤J¥H¤U¤G¦æ¸ê®Æ
map rl0 192.168.88.0/24 -> 61.219.230.5/32 portmap tcp/udp 10000:65000
map rl0 192.168.88.0/24 -> 61.219.230.5/32

 

³]©w¶}¾÷°õ¦æ
¬°¤F¶}¾÷¥i¦Û°Ê°õ¦æ ipnat(ipfilter ¥Î¨Ó°õ¦æ nat ¥Îªº«ü¥O)¡A§A¥i¦b /usr/local/etc/rc.d ³o­Ó¥Ø¿ý¤¤·s¼W¤@­Ó *.sh ÀÉ¡A¦p¤U(¥H runipnat.sh ¬°¨Ò)

# cd /usr/local/etc/rc.d <- ¶i¤J³o­Ó¥Ø¿ý
# vi runipnat.sh¡@¡@ <- ³Ð³y³o­ÓÀÉ®×


¥[¤J¥H¤U¸ê®Æ
#!/bin/sh ->³o­Ó­n©ñ¦b²Ä¤@¦æ
/sbin/ipnat -f /etc/ipnat.conf <-§A­è¤~©Ò³]ªº³]©wÀÉ¡A-f ¥Î¨Ó«ü©w¨Ï¥Î¨º­Ó³]©wÀÉ
¦sÀÉ


±N runipnat.sh ³]©w¦¨¥i°õ¦æ
# chmod 755 runipnat.sh

§¹¦¨¦w¸Ë
¥H¤W¨BÆJ§¹¦¨«á¡A¥u­n­«¶}¾÷´N¥i¥H¤F
¤º³¡¹q¸£³]©w
¦Ü©ó¦b¤º³¡¹q¸£¤è­±¡A½Ð¦Û¦æ°Ñ·Ó§Aªº§@·~¨t²Î³]©w¡A¦p CreMaker ¬O¨Ï¥Î window 2000 ªº¨t²Î¡A§Úªº tcp/ip ³]©w¦p¤U¡G

ip¦ì¸m¡G192.168.88.77 -> ¥i¦b 192.168.88.1 ¦Ü 192.168.88.254 ¤¤¥ô¿ï¤@­Ó
¤lºô¸ô¾B¸n¡G255.255.255.0
¹w³]¹h¹D¡G192.168.88.99 -> ´N¬O rl1 ªº ip
DNS¦øªA¾¹¡G168.95.1.1 -> ¥i¦Û¦æ­×§ï

³]©w§¹«á¡A½Ð¦Û¦æ´ú¸Õ¬Ý¬Ý¡A¤º³¡¹q¸£¬O§_¥i³s¨ì¥~­±

²Ä¤T³¡ ipnat «ü¥O»¡©ú
ipnat -l -> ¦C¥X¥Ø«e ipnat ªº³]©w¤Îª¬ªp
ipnat -C -> C¬O¤j¼g¡A²M°£ ipnat ªº³]©w
ipnat -f <³]©wÀÉ> -> Ū¨ú³]©wÀɨó]©w ipnat
ª`·N¨Æ¶µ
¦b¸Ëºô¸ô¥d®É¡A½Ðª`·N¦b pci ¼Ñ¤¤ªº¶¶§Ç¡A¥H­±¹ï¥D¾÷ªOªº¤è¦V¦Ó¨¥¡A¹ï¥~ªººô¸ô¥d(rl0)½Ð´¡¦b¾a¥D¾÷ªO¤¤¥¡¡A¹ï¤º¨º¤ù(rl1)«h¾a¥~(¥ª½t)¡A¥H§K¨t²Î·|§ì¿ùºô¸ô¥d¡A§Ú´N¬O·í¦b³oùثܤ[..
«á°O
ipfilter ¬O­Ó¬Û·í¤£¿ùªº nat ¤Î firewall ³nÅé¡A¥Ñ©óª½±µ¦b®Ö¤ß¤¤°õ¦æ(ipfw/natd ªº natd ¬O¥H daemon ªº¤è¦¡°õ¦æ)¡A©Ò¥H®Ä²v¸û natd ¬°¨Î¡A¦Ó¥B³]©w²³æ¡C¥u¤£¹L¦b FreeBSD ¤j¦h¬O¥Î ipfw/natd .. ©Ò¥H¤~±N¨ä§N¸¨¤F§a..

¥t ipfilter ¥ç¥i¥Î¨Ó³]©w firewall ¡A¨ä¬ÛÃö«ü¥O¬° ipf ¡A¦³¿³½ìªÌ¥i man ipf ¦Û¦æ°Ñ¦Ò¤@¤U ..

¥t ipfilter ªº©x¤èºô¯¸ http://cheops.anu.edu.au/~avalon/

 

¨ä¥¦»¡©ú

ÃöÁä¦r¤¶²Ð
¬ÛÃöºô§}

http://cheops.anu.edu.au/~avalon/

­Y©ó¥»¤å¤¤ÁÙ¦³¬Ý¨ì¤£²M·¡ªºÃöÁä¦r®É¡A½Ð¨Ó«Hµ¹±ç·¬¡AÁÂÁ¡C
¥»¤åÃC¦â»¡©ú
¤å¦r ³o¥u¬O¤@¯ëªº­z¶D¥y
¤å¦r »Ý­n¯S§Oª`·Nªº¥y¦r
 
ªí¥Ü¦b²×ºÝ¾÷¤¤¬Ý¨ìªº¼Ò¼Ë
¤å¦r
ªí¥Ü¤£¥²ª`·Nªº³¡¥÷¡C
¤å¦r
¥Ñ¨Ï¥ÎªÌ¿é¤Jªº©R¥O©Î¤å¦r
¤å¦r
µe­±¤W¹q¸£©Ò¿é¥Xªº¸ê°T

-- PowerBy CreMaker--
-- ±Æª© by ±ç·¬ --