¤@¯ë¦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 ¹ï¤º |
|
|
¥[¤@¤ù¹ï¤ºªººô¸ô¥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¥un«¶}¾÷´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¨ì¥~±
|
|
ipnat -l -> ¦C¥X¥Ø«e ipnat ªº³]©w¤Îª¬ªp
ipnat -C -> C¬O¤j¼g¡A²M°£ ipnat ªº³]©w
ipnat -f <³]©wÀÉ> -> Ū¨ú³]©wÀɨó]©w ipnat |
|
¦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/
|