åãããŒããã³ãäºæ¥è
ã¯ããŠãŒã¶ãŒãã€ã³ã¿ãŒãããã«è§£æŸããå©çšå¯èœãªæéãã©ã³ã«åŸã£ãŠãããã¯ãŒã¯ã®é床ãé©åã«å¶éããæ©åšã®æ
éãŸãã¯æ©åšã®ã·ã£ããããŠã³ã«é¢é£ããäœæ¥ã®å Žåã«åããŠæºåãæŽããæ¹æ³ã«ã€ããŠèããŸãã ãããã©ã®ããã«å®è£
ãããŠããããäŸãæããŠèª¬æããŸãïŒ3000人以äžã®ãŠãŒã¶ãŒãç§ãã¡ã«æ¥ç¶ããŠããã説æãããªãã·ã§ã³ã¯éåžžã«ããŸãæ©èœããŸãïŒ
ã¯ããã«ã次ã®ãã®ãäžããããŸããã
1ïŒ1Uã©ãã¯ããŠã³ããµãŒããŒïŒIntel Xeon E5335ã1GB Ramããã¥ã¢ã«ããŒãNIC Intel PRO / 1000 EBïŒã2ã€ãããŸãã äœã®ããã«-ç§ã¯èšäºã®ããã¹ãã§äŒããŸã
2ïŒå¢çã«ãŒã¿ãŒïŒç§ã®å ŽåãJuniper j4350ã2åïŒ
3ïŒBGPãŸãã¯OSPFããµããŒãããL3ã¹ã€ãã
4ïŒã¿ã¹ã¯ãšåæ§ã«ïŒAïŒã€ã³ã¿ãŒãããäžã§ãŠãŒã¶ãŒãè§£æŸããããã«ãã®ãã¹ãŠã®çµæžãæã£ãŠããã
BïŒäºåãäœæããŸããããã¯ãäºæ
ã®å Žåã«é¢ä¿ããŸã
èªåçãã€åå ãªã
ãšããžã«ãŒã¿ãŒïŒæšå¥šäºé
ïŒ
ãšããžã«ãŒã¿ãŒãã»ããã¢ããããããšããå§ããŸãããã
ããã¯ãFreeBSD / Linuxã§æåãªQuaggaããã±ãŒãžãæèŒããPCã§ããäœã§ãããŸããŸããããŸããã·ã¹ã³ãŸãã¯ãžã¥ãããŒã®ã¡ãŒã«ãŒã®æ©åšã§ãããŸããŸããã ã¯ã¢ã¬ãŸãã¯ciscoããŒã¹ã®PCã§ãšããžã«ãŒã¿ãŒãæ§æããæ¹æ³ã€ã³ã¿ãŒãããã«é¢ããå€ãã®èšäºãšå€ãã®è©³çްãªããã¥ã¡ã³ãããããŸãïŒã¯ããquagiæ§æã¯ciscoæ§æãšåãã§ãïŒã ãžã¥ãããŒã«é¢ããæ
å ±ããããŸãããããã»ã©å€ãã¯ãããŸãããããããŸãã ãŸãããã®èšäºã®ãããã¯ã¯ããšããžã«ãŒã¿ãŒãšãã®äžã«BGPãã»ããã¢ããããããšã§ã¯ãªããä»ã®äœãã«ã€ããŠå°ã説æããŠããŸãã
ç§ã®å Žåã2å°ã®ãžã¥ãããŒj4350ãå¢çã«ãŒã¿ãŒãšããŠäœ¿çšãããŠããŸããããŒããŠã§ã¢ã¯ããã»ã©åŒ·åã§ã¯ãããŸããããçŸåšã®ã¿ã¹ã¯ãšäºç®ã«ãŽã£ããã§ãã
ãããã®ã«ãŒã¿ãŒã¯ããããç¬èªã®ããŒãïŒç°ãªãå Žæã«ããããŒãïŒã«ã€ã³ã¹ããŒã«ãããããããã«åå¥ã®ã¢ãããªã³ã¯ãæ¥ç¶ãããŸãã bgpãããã³ã«çµç±ã®ã¢ãããªã³ã¯ããããã«ãã¥ãŒãåãå
¥ãããããã¯ãŒã¯ãã¢ããŠã³ã¹ããŸãã ã·ã§ãŒããŒã®å Žåã¯ãããã«ç¹å¥ã«å²ãåœãŠãããvlan-eã§ãããã©ã«ãã«ãŒãïŒããã©ã«ãã«ãŒãïŒã®ã¿ãå
éšbgpã«æž¡ããŸãã
ãžã¥ãããŒã®å Žåããããã¯æ§æå
ã®è¡ã§ãã
protocols bgp
neighbor 195.xxx.xxx.226 { export [ default-originate reject ];
policy options
policy-statement default-originate {
from {
route-filter 0.0.0.0/0 exact;
}
then accept;
},
policy-statement reject {
then reject;
} , .
å¢çã«ãŒã¿ãŒãæ§æããããããããã¢ãããªã³ã¯ããå
šæ¯ãååŸãããããã¯ãŒã¯ãæäŸããŸãã æ¬¡ã«ãå
éšbgpçšã«vlanãæ§æããŸããå
éšã§ãå¢çã«ãŒã¿ãŒéã®bgpéä¿¡ãçºçãããŠããããã®éã§ã«ãŒãã亀æããŸãã å°æ¥ã®ã·ã§ãŒããŒçšã«IPã¢ãã¬ã¹ãéžæããŸãããNATã«äœ¿çšãããå€éšIPã¢ãã¬ã¹ã®ããŒã«çšã«1ã€ã§ã¯ãªãè€æ°ã«ããããšãæãŸããã§ãã ç§ã®å Žåãåã·ã§ãŒããŒã«ã¯4ã€ã®ã¢ãã¬ã¹ããããŸãããå€ããå°ãªããå¯èœã§ãã ãããã¯ãŒã¯ã®ãµã€ãºãšå å
¥è
ã®æ°ã«å¿ããŠã
FreeBSDã§ã®ã·ã§ãŒãã³ã°ãšNATã®ããã®ãµãŒããŒã®æ§æ
ãµãŒããŒãç®±ããåãåºããŠãææ°ã®å®å®ããŒãžã§ã³ãããåªããFreeBSDã®ã€ã³ã¹ããŒã«ãéå§ããŸãã ããŒããšã«ãŒãã«ãœãŒã¹ããªãŒã«æ³šæããããšãå¿ããã«ãæå°éã®æ§æã§FreeBSDãã€ã³ã¹ããŒã«ããããšãæãŸããã§ãïŒæ§æåŸã«åé€ã§ããŸãïŒã
FreeBSDã®ã€ã³ã¹ããŒã«åŸããããã¯ãŒã¯ã®æ§æãéå§ããŸãã /etc/resolv.confã§DNSãµãŒããŒã®ã¢ãã¬ã¹ãèšå®ããããã©ã«ãã«ãŒããšIPã¢ãã¬ã¹ã/etc/rc.confãã¡ã€ã«ã«æžã蟌ã¿ãŸãïŒbgpãååšããã«ãããããããèšå®ããã¯ãªã¬ã«åé¡ãããå Žåãããã©ã«ãã«ãŒãã¯æ±ºããŠåé·ã§ã¯ãããŸããïŒããã«ïŒ
------ / etc / rc.conf ----
defaultrouter="195.xxx.xxx.225" #
gateway_enable="YES" #
hostname="gw2.xxx.ru" #
# em0 â c bgp
ifconfig_em0="up"
ifconfig_em0="inet 195.xxx.xx.231 netmask 255.255.255.240" # IP
ifconfig_em0_alias0="inet 195.xxx.xxx.232 netmask 255.255.255.255" # IP.
ifconfig_em0_alias1="inet 195.xxx.xxx.233 netmask 255.255.255.255" #
ifconfig_em0_alias2="inet 195.xxx.xxx.234 netmask 255.255.255.255"
#em1 â , vlan l3
ifconfig_em1="up"
ifconfig_em1="inet 195.xxx.xxx.193 netmask 255.255.255.248"
-ãããã¯ãŒã¯ãç«ã¡äžãããYandexãpingãå®è¡ããŸããã æ¬¡ã«ãããŒãããªãŒãæŽæ°ããŸã
ããŒãããªãŒã¯ãportsnapãŸãã¯csupã䜿çšããŠæŽæ°ã§ããŸãã
ãã®å Žåãportsnapãä»ããŠæŽæ°ããŸãã ãããè¡ãã«ã¯ã次ã®ã³ãã³ããäœæããŸãã
portsnap fetchãããã«ãããå®å
šãªããŒãããªãŒã/ var / db / portsnapãã£ã¬ã¯ããªã«ããŒããããŸãã
portsnap extractããã®ã³ãã³ãã䜿çšããŠãæ°ããããŒãããªãŒã/ usr / portsãã£ã¬ã¯ããªã«å±éããŸãã
ããŒããæŽæ°ããåŸãç¬èªã®ã«ãŒãã«ãæ§ç¯ããããšã¯çã«ããªã£ãŠããŸãããããã¯å¿
é ã§ã¯ãããŸããããipfwãdummynetãpfã«ã¢ãžã¥ãŒã«ãããŒãã§ããåæ§ç¯ãããã«ãŒãã«ã®ããã©ãŒãã³ã¹ã¯ç¹ã«åœ±é¿ãåããŸããã ãã®å ŽåãHZãªãã·ã§ã³ã®ããã«ã«ãŒãã«ã®åæ§æãå¿
èŠã§ããããã¯ã¿ã€ããŒééã§ãã ããã©ã«ãã§ã¯100ã§ããããã¯é«éã«ã¯ããŸãé©ããŠããŸããããã®ããã2000ã«å€æŽããŸãã
ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«ãŒãã«èšå®ãå¥ã®ãã¡ã€ã«ã«ã³ããŒããŸã
cp / usr / src / sys / i386 / conf / GENERIC / usr / src / sys / i386 / conf / router-001
router-001ãã¡ã€ã«ãããã¹ããšãã£ã¿ãŒïŒviãnanoïŒã§éããç·šéãéå§ããŸãã å¿
èŠã«å¿ããŠã«ãŒãã«ãç·šéããåŸã次ã®ãã©ã¡ãŒã¿ãŒãã«ãŒãã«æ§æã«è¿œå ããããšãå¿ããªãã§ãã ããïŒ
#ipfw firewall ,
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options DUMMYNET
options HZ=2000
# pf, NAT- IP
device pf
device pflog
device pfsync
次ã«ãmake buildkernelããã³make installkernelã³ãã³ãã䜿çšããŠãã«ãŒãã«ããã«ãããã³ã€ã³ã¹ããŒã«ããŸã
ã«ãŒãã«ãæ§ç¯ããåŸãipfwãã¡ã€ã¢ãŠã©ãŒã«ã®æ§æã«é²ã¿ãŸã
/etc/rc.confãã¡ã€ã«ã«æ¬¡ã®è¡ã远å ããŸãã
firewall_enable="YES"
pf_enable="YES"
pf_rules="/etc/pf.conf"
/etc/rc.firewallãã¡ã€ã«ãå®å
šã«ã¯ãªã¢ããç¬èªã®ã«ãŒã«ã®æžã蟌ã¿ãéå§ããŸããè€éãªãã®ã¯ãªããããrc.firewallã¯ipfwã®èµ·åæã«èµ·åããæãäžè¬çãªã·ã§ã«ã¹ã¯ãªããã§ã
æ°ãã/etc/rc.firewallã«è¿œå ãããè¡
#!/bin/sh ,
/sbin/ipfw -q flush
/sbin/ipfw -q pipe flush , dummynet
fwcmd="/sbin/ipfw -q" , ipfw . âq ,
WAN_IP = 195.xxx.xxx.231, IP
IBGP_NET = 195.xx.xx.224/xx
LAN_IP = 10.249.0.0/16 ,
${fwcmd} add 10 allow ip from any to any via lo0 ,
loopback e
${fwcmd} add 11 allow ip from me to me ,
${fwcmd} add 12 allow icmp from any to me, icmp
${fwcmd} add 20 allow tcp from table(1) to me dst-port 22 ,
ssh IP 1.
ipfw table 1 add <ip_address>
${fwcmd} add 21 deny tcp from any to me dst-port 22 , ssh.
, 1
${fwcmd} add 30 pipe tablearg ip from any to table(2) out via em1
${fwcmd} add 31 pipe tablearg ip from table(3) to any in via em1 , 2 3 . , (2 , 3 â ). ipfw table 2 add <ip > < > ipfw table 2 add <ip > < >
,
- ( nginx)
${fwcmd} add 38 fwd 127.0.0.1,3128 tcp $LAN_NET to not me dst-port 80
${fwcmd} add 39 allow tcp from any $LAN_NET src-port 80
${fwcmd} add 40 deny all from $LAN_NET to not me
${fwcmd} add 41 deny all from not me to $LAN_NET , . 2 3
${fwcmd} add 50 allow ip from me to any keep-state , .
${fwcmd} add 51 allow tcp from $IBGP_NET to $WAN_IP dst-port 179 , vlan BGP 179 (bgp )
${fwcmd} add 52 allow ospf from 195.xxx.xxx.192/29 to any , ospf
,
:
#Speed 15Mbps,
${fwcmd} pipe 1 config mask dst-ip 0xffffffff bw 16000Kbit/s
${fwcmd} pipe 101 config mask src-ip 0xffffffff bw 16000Kbit/s
#Speed 20Mbps,
${fwcmd} pipe 2 config mask dst-ip 0xffffffff bw 21000Kbit/s
${fwcmd} pipe 102 config mask src-ip 0xffffffff bw 21000Kbit/s
#Speed 3Mbps,
${fwcmd} pipe 3 config mask dst-ip 0xffffffff bw 3500Kbit/s
${fwcmd} pipe 103 config mask src-ip 0xffffffff bw 3500Kbit/s
ãããã®å Žåãããããã®æšå¥šäºé
ã«åŸã£ãŠããã¹ãŠãèªåèªèº«ã®ããã«ã«ãŒã«ãèšå®ããŸãïŒãã±ãããæåã«ipfwã®åœ±é¿ãåããããšãå¿ããã«ã次ã«pfåŠçã«é²ã¿ãŸãïŒã ååãšããŠãtableargã䜿çšããããªãå Žåã¯äœ¿çšã§ããŸããã ã¯ã©ã€ã¢ã³ãããšã®ãã€ããŸãã¯é¢çšçšã®åå¥ã®ããŒãã«ã®ãªãã·ã§ã³ããŸã ãããŸãã æ©åšã®è² è·ãé«ãïŒã¯ã©ã€ã¢ã³ãããšã®ãã€ãïŒãšäžäŸ¿ïŒé¢çšè¡šïŒã®ããããããã®ãªãã·ã§ã³ã¯èæ
®ããŸãã
å³ã宿ãããã«ã¯ãpfã䜿çšããŠNATãæ§æããã ãã§ãã
ãã¡ã€ã«/etc/pf.confãäœæããæ¬¡ã®è¡ãå
¥åããŸã
WAN_IF = "em0"ãããã¯å
éšbgpã䜿çšããvlanã®å€éšã€ã³ã¿ãŒãã§ã€ã¹ã§ãã NATãçæããã®ã¯ãã®äžã«ãããŸã
LOCAL_NET = "10.249.0.0/16"ãããã¯NATããããŒã«ã«ãããã¯ãŒã¯ã®ç¯å²ã§ã
$ LOCAL_NETãã$ WAN_IFã«natïŒ $ LOCAL_NET->ïŒ$ WAN_IFïŒã©ãŠã³ãããã³ã¹ãã£ãããŒã¢ãã¬ã¹ãããã¯ãå
éšãããã¯ãŒã¯ããå€éšã€ã³ã¿ãŒãã§ã€ã¹ãžã®NATã®ã«ãŒã«ã§ãã
ã©ãŠã³ãããã³ãã©ã¡ãŒã¿ãŒã¯ãããŒã«ã¢ãã¬ã¹ãåã§äœ¿çšããããšãæå³ããŸãã
sticky-addressãã©ã¡ãŒã¿ã¯ãåãéä¿¡å
ã¢ãã¬ã¹ãåžžã«ããŒã«ã¢ãã¬ã¹ã«å²ãåœãŠãããããã«ããããã«äœ¿çšãããŸãã
ä»ãquaggaããã±ãŒãžã®æ§æãéå§ããŠããŸã
ç§ã®å Žåã圌ããbgpãµããŒããšospfãµããŒããå¿
èŠã§ã
Zebra.confã¯å
¬éããŸããããã¹ãŠãã·ã³ãã«ã§åãã§ãã ã€ã³ã¿ãŒãã§ãŒã¹ãšéçã«ãŒãã«ã€ããŠèª¬æããŸããããããã®æç²ã§ãã
nterface em0
ip address 195.xx.xxx.231/xxx
description ibgp
!
interface em1
ip address 195.xxx.xxx.193/29
description ospf
!
! Static routes.
!
ip route 10.0.0.0/8 Null0 254
ip route 79.142.80.132/30 195.xxx.xxx.238
ip route 94.124.180.57/30 195.xxx.xxx.225
nterface em0
ip address 195.xx.xxx.231/xxx
description ibgp
!
interface em1
ip address 195.xxx.xxx.193/29
description ospf
!
! Static routes.
!
ip route 10.0.0.0/8 Null0 254
ip route 79.142.80.132/30 195.xxx.xxx.238
ip route 94.124.180.57/30 195.xxx.xxx.225
bgpæ§æããã®ãããªãã®ã«ããŸãã ã€ãŸããå¢çã«ãŒã¿ãŒããã®ããã©ã«ãã«ãŒããåãå
¥ããç¹å®ã®ã«ãŒããæå®ããŸã
hostname gw2.xxx.ru
password rxxxx
enable password rxxxxx
log file /var/log/quagga/bgpd.log
!
router bgp 3333
bgp router-id 195.xxx.xxx.231
bgp log-neighbor-changes
network 195.xxx.xxx.192/29
neighbor 195.xxx.xxx.225 remote-as 3333
neighbor 195.xxx.xxx.225 description j4350-1
neighbor 195.xxx.xxx.225 next-hop-self
neighbor 195.xxx.xxx.238 remote-as 3333
neighbor 195.xxx.xxx.238 description j4350-2
neighbor 195.xxx.xxx.238 next-hop-self
!
次ã«ãOSPFãããã³ã«ãæ§æããŸãïŒDlink DGS-3612ã¯Cisco Catalyst 3560ãšäžŠè¡ããŠã€ã³ã¹ããŒã«ããããããç§ã®å Žåã«äœ¿çšïŒã
Hostname gw2.xxx.ru
password xxx
enable password xxxx
log file /var/log/quagga/ospfd.log
!
interface em1
!
router ospf
ospf router-id 195.xxx.xxx.193
network 195.xxx.xxx.192/29 area 0.0.0.0
default-information originate metric 100
!
line vty
BGPã䜿çšããæ¹æ³ãç¥ã£ãŠããã¹ã€ãããããå Žåã¯ãOSPFã®äœ¿çšãæåŠãããããã®ç®çã§BGPãããã³ã«ã䜿çšããããšããå§ãããŸãã ãã®å Žåã
bgpd.conf次ã®è¡ãäœæããå¿
èŠããããŸã
neighbor 195.xxx.xxx.195 remote-as 3333
neighbor 195.xxx.xxx.195 description sw-c3560-xxx.ru
neighbor 195.xxx.xxx.195 default-originate
誰ãããã¥ãŒãã³ã°ãè¡ã£ãããã§ããä»ãäž»ãªããšã¯ãsysctlã®ãã¥ãŒãã³ã°ãå°ãå¿ããªãããšã§ãã
æ¢åã®/etc/sysctl.confã«æ¬¡ã®è¡ã远å ããŸã
net.inet.ip.forwarding=1 #
net.inet.ip.fw.one_pass=1 # ipfw
net.inet.icmp.bmcastecho=0 #
net.inet.tcp.blackhole=2 # ( )
net.inet.udp.blackhole=1 # ( )
net.inet.ip.dummynet.io_fast=1 # dummynet( )
net.inet.icmp.drop_redirect=1 # icmp
net.inet.icmp.log_redirect=1 # icmp log,
net.inet.ip.redirect=0 # 0, ICMP REDIRECT
net.inet.ip.dummynet.expire=0 #
#
net.inet.ip.dummynet.hash_size=16384 # -, dummynet
# .
#dummynet # ,
#
ããã«ã€ããŠã¯ãã·ã§ãŒããŒã宿ãããšèããŠããŸãã以åã¯èª²éã·ã¹ãã ãšã®çµ±åãçç¥ããŠããŸãããããããç¬èªã®æ¹æ³ãšç¬èªã®æ¹æ³ãããããã§ã
åèµ·åã³ãã³ããå®å
šã«èšè¿°ã§ãããã¹ãŠãæ£ããæ§æãããŠããã°ã第3ã¬ãã«ã¹ã€ããïŒl3ïŒã®æ§æã«é²ãããšãã§ããŸãã
ãŸããã€ã³ã¿ãŒããããžã®ã¢ã¯ã»ã¹ãèš±å¯ãããŠããªããŠãŒã¶ãŒããããã¯ã«é¢ããæ
å ±ãå«ãç¹å®ã®ããŒãžã«ãªãã€ã¬ã¯ãããå Žåã¯ãnginx WebãµãŒããŒãé
眮ããæ§æãã¡ã€ã«ïŒnginx.confïŒã«æ¬¡ã®ããã¹ããæžã蟌ã¿ãŸãã
user nobody;
worker_processes 2;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 35;
server {
listen 3128;
server_name wkt_router;
charset windows-1251;
access_log /dev/null;
rewrite ^(.*) blocked.wktnet.ru/index.htm permanent;
}
}
ã¬ã€ã€ãŒ3ã¹ã€ããã®æ§æ
ç§ã®ãããã¯ãŒã¯ã¯Cisco WS-C3560G-24-TS-Sã䜿çšããŠããŸããããã§ã¯ãã¹ãŠãã·ã³ãã«ã§ã
æ§æã¢ãŒãã«ç§»åããŸãïŒconf t
ospfãå®è¡ãããvlanã€ã³ã¿ãŒãã§ã€ã¹ã«IPã¢ãã¬ã¹ãå²ãåœãŠãŸãïŒem1ã€ã³ã¿ãŒãã§ã€ã¹ã®ã·ã§ãŒããŒãšåããããã¯ãŒã¯ïŒ
ãããŠãospfãæ§æããŸã
router ospf 1
router-id 195.xxx.xxx.195
log-adjacency-changes
network 10.249.33.0 0.0.0.255 area 0.0.0.0
network 10.249.42.0 0.0.0.255 area 0.0.0.0
network 10.249.51.0 0.0.0.255 area 0.0.0.0
network 10.249.55.0 0.0.0.255 area 0.0.0.0
wrã³ãã³ãã§èšå®ãä¿åããçµæãåã¶
ospfãããã³ã«ã®ä»£ããã«bgpã䜿çšããããšã«ããå Žåãã¹ã€ããæ§æã§æ¬¡ã®è¡ã远å ããå¿
èŠããããŸã
router bgp 3333
bgp log-neighbor-changes
network 10.249.33.0 255.255.255.0
redistribute ospf 1
neighbor 195.xxx.xxx.193 remote-as 3333
neighbor 195.xxx.xxx.193 description gw
l3 Dãªã³ã¯ã¹ã€ããã䜿çšããå Žåã¯ã次ã®ã³ãã³ãã§OSPFãæ§æããŸã
ospfãæå¹ã«ããã¹ã€ããã§ospfãæå¹ã«ããŸã
config ospf router_id 195.xxx.xxx.196ãã«ãŒã¿ãŒã®IDãæå®ããŸã
config ospf ipif <interface> area 0.0.0.0 state enableãenable ospf on the interface
ãããŠsaveã³ãã³ãã§èšå®ãä¿åããŸã
ããã¯ã¢ãããµãŒããŒãæ§æãã
飿¥ïŒããã¯ã¢ããã·ã§ãŒããŒïŒã§ãospf configãšIPã¢ãã¬ã¹ãé€ããŠåãèšå®ãå®è¡ããŸã
éãã¯ãããã©ã«ãæ
å ±ã®çºä¿¡å
ã200ã«èšå®ãããããããã¯ã¢ããã«ãªãããšã§ãã ã¡ããªãã¯100ã®ãŸãŸã«ããŠã·ã§ãŒããŒéã§è² è·åæ£ãè¡ãããšã¯ã§ããŸããããã®èšå®ã§ã¯ã¯ã©ã€ã¢ã³ãã¯åéã«ãªããŸãïŒåã·ã§ãŒããŒã®é¢çšé床ã«å¿ããŠïŒã®ã§ããããã¯ãŒã¯ã§ã¯ãã®ãªãã·ã§ã³ã䜿çšããŸããã
ãããã«
ãã®çµæãåçã«ãŒãã£ã³ã°ãåããã·ã¹ãã ãåŸãããŸãïŒã·ã§ãŒããŒãŸãã¯å¢çã«ãŒã¿ãŒã®1ã€ã«é害ãçºçããå Žåã飿¥ããã«ãŒã¿ãŒã®äœ¿çšãèªåçã«éå§ãããã¬ãã«3ã¹ã€ããã«ç»é²ããããã¹ãŠã®ãããã¯ãŒã¯ã«ãŒããã·ã§ãŒããŒã®ã«ãŒãã£ã³ã°ããŒãã«ã«èªåçã«è¡šç€ºãããŸãïŒã ã¢ã€ãã«ç¶æ
ã®ãµãŒããŒã®ã¢ã€ãã¢ãæããŠããå Žåã¯ãèšå®ãããã£ãŠãospfãbgpã«å€æŽããå¥ã®L3ã¹ã€ããã远å ããŠããããã¯ãŒã¯ã®äžéšããããéããŠè§£æŸã§ããŸãã
çµæã®ããŒãã®ã¹ããŒã ïŒ

ããšãã°ãrc.firewallãæå®ããŸã
cat /etc/rc.firewall
#!/bin/sh
#Flush all firewall rules
/sbin/ipfw -q flush
/sbin/ipfw -q pipe flush
#Setting firewall path and options for working with rules
fwcmd="/sbin/ipfw -q"
#variables
IBGP_NET="195.93.xxx.xxx/28" #iBGP network (vlan9)
WAN_IP="195.93.xxx.xxx" #Primary WAN ip address
LAN_IP="195.93.xxx.xxx" #Primary LAN ip address
###System rules
${fwcmd} add 10 allow ip from any to any via lo0 #do not filter loobpack
${fwcmd} add 11 allow ip from me to me #allow packets from this host to this host
${fwcmd} add 12 allow icmp from any to me #allow ICMP
#allow ssh connections
${fwcmd} add 20 allow tcp from table\(6\) to me dst-port 22 #Allow SSH connections (table 6)
${fwcmd} add 29 deny tcp from any to me dst-port 22
#allowing users and add his ip to shaping pipe
${fwcmd} add 30 pipe tablearg ip from any to table\(1\) out via em1
${fwcmd} add 31 pipe tablearg ip from table\(2\) to any in via em1
#Block spammerss
${fwcmd} add 34 deny ip from table\(3\) to any dst-port 25 #for auto block spammers
#allow connections to this networsk
${fwcmd} add 40 allow all from table\(7\) to any
${fwcmd} add 41 allow all from any to table\(7\)
#allow active users
${fwcmd} add 45 allow all from not me to table\(1\)
${fwcmd} add 46 allow all from table\(2\) to not me
#By default block users
${fwcmd} add 48 fwd 127.0.0.1,3128 tcp from table\(8\) to not me dst-port 80
${fwcmd} add 49 allow tcp from any to table\(8\) src-port 80
${fwcmd} add 50 deny all from table\(8\) to not me
${fwcmd} add 51 deny all from not me to table\(8\)
###Access rules
#allow outgoing connections
${fwcmd} add 60 allow ip from me to any keep-state #allow all ougoing packets and keep state
#Rules allowing SNMP
${fwcmd} add 61 allow udp from table\(6\) to $WAN_IP dst-port 161 #Allow SNMP
#Rules allowing bgp
${fwcmd} add 64 allow tcp from $IBGP_NET to $WAN_IP dst-port 179 #Allow BGP from iBGP network (vlan 9)
###############################################
# 6 - ssh,telnet snmp
${fwcmd} table 6 add 195.93.xxx.xxx #wkt office
${fwcmd} table 6 add 89.xxx.xxx.1 #
${fwcmd} table 6 add 93.xx.xxx.xxx #
# 7 - IP
${fwcmd} table 7 add 195.xxx.xx.0/25 #binat
${fwcmd} table 7 add 195.xx.xx.0/26 #servers dmz
${fwcmd} table 7 add 195.xx3.xx.192/29 #int net
${fwcmd} table 7 add 195.xx.xxx.xxx #c3560-b51
${fwcmd} table 7 add 10.88.88.1
# 8 -
${fwcmd} table 8 add 10.87.0.0/16
${fwcmd} table 8 add 10.88.0.0/16
${fwcmd} table 8 add 10.249.0.0/16
${fwcmd} table 8 add 10.90.0.0/16
${fwcmd} table 8 add 195.93.xxx.0/25
${fwcmd} table 8 add 195.93.xxx.128/25
${fwcmd} table 8 add 195.93.xxx.64/26
${fwcmd} table 8 add 195.93.xxx.200/28
# 1 2 -
##WKT tech
${fwcmd} table 1 add 10.87.xx.250/32 55
${fwcmd} table 2 add 10.87.xx.250/32 255
${fwcmd} table 1 add 10.87.xx.251/32 55
${fwcmd} table 2 add 10.87.xx.251/32 255
ãããŠbgpd.conf
hostname gw2.xxxx
password rxxxx
enable password xxx
log file /var/log/quagga/bgpd.log
!
router bgp 44xxx
bgp router-id 195.93.xxx.xxx
bgp log-neighbor-changes
network 195.93.2xx.xxx/29
neighbor 195.93.206.xx remote-as 44380
neighbor 195.93.206.xx description j4350-b51
neighbor 195.93.206.xx next-hop-self
neighbor 195.93.206.xx remote-as 44380
neighbor 195.93.206.xx description j4350-k18
neighbor 195.93.206.xx next-hop-self
neighbor 195.93.206.xx remote-as 65000
neighbor 195.93.206.xxdefault-originate
neighbor 195.93.206.xx description sw-c3560g-24ts-b51
neighbor 195.93.206.xx route-map c3560g-b51-in in
neighbor 195.93.206.xx remote-as 65001
neighbor 195.93.206.xx default-originate
neighbor 195.93.206.xx description sw-c3560g-24ts-k18
neighbor 195.93.206.xx route-map c3560g-k18-in in
!
route-map c3560g-k18-in permit 10
set local-preference 200
!
route-map c3560g-b51-in permit 10
set local-preference 300
UPDïŒkernels.hz = "2000"ã/boot/loader.confã«ç»é²ããããã«ãã«ãŒãã«ãåæ§ç¯ããå¿
èŠã¯ãããŸããã