SMF - Just Installed!
interface print
ЦитироватьFlags: D - dynamic, X - disabled, R - running, S - slave
# NAME TYPE MTU
0 R ether1 ether 1500
interface enable 0
ip address add address=192.168.0.1/24 interface=ether1
ip address print
ЦитироватьFlags: X - disabled, I - invalid, D - dynamic
# ADDRESS NETWORK BROADCAST INTERFACE
0 192.168.0.1/24 192.168.0.0 192.168.0.255 ether1
ip route add gateway=192.168.1.1
ip dns set primary-dns=192.168.1.1 secondary-dns=192.168.1.5
allow-remote-requests=yes
user add name=crash password=G@1NiW@ group=full
/ip pool add name=dhcp-pool1 ranges=192.168.15.101-192.168.15.200
/ip dhcp-server add address-pool=dhcp-pool1 disabled=no interface=ether1-LAN1 lease-time=3d name=dhcp-server1
/ip dhcp-server network add address=192.168.15.0/24 dns-server=192.168.15.10 gateway=192.168.15.1 netmask=24 wins-server=192.168.15.10
/interface bridge
add arp=proxy-arp name=bridge-LAN port-cost-mode=short
add arp=proxy-arp name=bridge-vlan5
/interface ethernet
set [ find default-name=ether2 ] name=LAN
set [ find default-name=ether4 ] name=WAN
/interface vrrp
add arp=proxy-arp interface=bridge-vlan5 name=vrrp-cloud priority=20 vrid=6
add interface=bridge-LAN name=vrrp10 on-backup=\
"interface disable WAN\r\
\ninterface vrrp set vrrp-cloud priority=10;" on-master="system script run\
\_Send_vrrp;\r\
\ninterface vrrp set vrrp-cloud priority=20;" priority=200
/interface vlan
add interface=bridge-LAN name=vlan5 vlan-id=5
/interface bridge filter
add action=drop chain=forward dst-port=67-68 ip-protocol=udp mac-protocol=ip \
out-bridge=bridge-vlan5
add action=drop chain=forward dst-port=67-68 ip-protocol=udp mac-protocol=ip \
out-bridge=bridge-LAN
/interface bridge port
add bridge=bridge-LAN interface=LAN internal-path-cost=10 path-cost=10
add bridge=bridge-vlan5 interface=vlan5
/interface bridge vlan
add bridge=bridge-LAN untagged=LAN vlan-ids=1
add bridge=bridge-LAN tagged=LAN vlan-ids=5
/system script
add dont-require-permissions=no name=email_config owner=admin policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/\
export file=full_config show-sensitive\
\n/tool e-mail send to=\"admin@yourdomain.com\" subject=\"\$[/system ide\
ntity get name] export\" body=\"\$[/system clock get date] config file\" f\
ile=full_config.rsc"
add dont-require-permissions=no name=Send_vrrp owner=admin policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/\
interface enable WAN;\
\n#:delay 10s;\
\n/tool e-mail send to=\"admin@yourdomain.com\" \\\
\n subject=\"\$[/system identity get name] VRRP status \$[/system clock ge\
t date] \$[/system clock get time]\" \\\
\n body=\"\$[/system clock get date] VRRP status changed! Main system now \
is \$[/system identity get name]\""
/interface vrrp
add arp=proxy-arp interface=bridge-vlan5 name=vrrp-cloud priority=11 vrid=6
add interface=bridge-LAN name=vrrp10 on-backup=\
"interface disable WAN;\r\
\ninterface vrrp set vrrp-cloud priority=11;" on-master="system script run\
\_Send_vrrp;\r\
\ninterface vrrp set vrrp-cloud priority=21;" priority=110
/import file-name=ddos.rsc
/ip firewall address-list
add list=ddos-attackers
add list=ddos-target
/ip settings set tcp-syncookies=yes
/ip firewall filter
add chain=forward connection-state=new action=jump jump-target=detect-ddos
add action=return chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s
add action=return chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s protocol=tcp tcp-flags=syn,ack
add action=add-dst-to-address-list address-list=ddos-target address-list-timeout=10m chain=detect-ddos
add action=add-src-to-address-list address-list=ddos-attackers address-list-timeout=10m chain=detect-ddos
/ip firewall raw
add action=drop chain=prerouting dst-address-list=ddos-target src-address-list=ddos-attackers
egrep -rl "10.10.10.10" /etc/ | xargs -i sed -r -i 's/10.10.10.10/20.20.20.20/g' '{}'
mogwai change_ip --from=10.10.10.10 --to=20.20.20.20
:local ftpuser "user"
:local ftppassword "password"
:local ftphost "192.168..."
:local config "master"
# set timestamp for monitoring
:if ( [:len [/ip firewall address-list find where list=sync_timestamp address="0.0.0.0" disabled=yes]] = 0 ) do={
/ip firewall address-list add list=sync_timestamp address="0.0.0.0" disabled=yes
}
:local date [/system clock get date]
:local time [/system clock get time]
:local timestamp "$date_$time"
/ip firewall address-list set [/ip firewall address-list find where list=sync_timestamp address="0.0.0.0" disabled=yes] comment="timestamp: $timestamp"
#export config
/ip firewall
export file="$config"
/
# put config to slave
tool fetch address=$ftphost user=$ftpuser password=$ftppassword mode=ftp src-path=($config.".rsc") dst-path=($config.".rsc") upload=yes;
:local config "master.rsc"
:if ([:len [/file find name=$config]] > 0) do={
:put "Found config from master!"
/ip firewall filter remove [/ip firewall filter find dynamic=no]
/ip firewall nat remove [/ip firewall nat find dynamic=no]
/ip firewall raw remove [/ip firewall raw find dynamic=no]
/ip firewall mangle remove [/ip firewall mangle find dynamic=no]
/ip firewall address-list remove [/ip firewall address-list find dynamic=no]
/ip firewall layer7-protocol remove [/ip firewall layer7-protocol find]
/import $config
/file remove $config
} else { :put "Config form master ($config) not found" }
/ip firewall filter
add action=accept chain=input comment="accept establish & related" connection-state=established,related
add action=drop chain=input comment="drop invalid" connection-state=invalid
add action=accept chain=input comment="accept ICMP" protocol=icmp
add action=drop chain=input comment="drop all not from lan" in-interface=!bridge1-lan
add action=accept chain=forward comment="accept established,related" connection-state=established,related
add action=drop chain=forward comment="drop invalid" connection-state=invalid
add action=drop chain=forward comment="drop all from WAN to LAN" connection-nat-state=!dstnat connection-state=new in-interface=ether1-wan
add action=accept chain=forward comment="accept http & https from LAN" dst-port=80,443 in-interface=bridge1-lan out-interface=ether1-wan protocol=tcp
add action=accept chain=forward comment="accept dns from LAN" dst-port=53 in-interface=bridge1-lan out-interface=ether1-wan protocol=udp
add action=drop chain=forward comment="drop all from LAN to WAN" in-interface=bridge1-lan out-interface=ether1-wan
/ip firewall nat
unset 0 dst-address
/ip firewall nat unset 0 dst-address
print
set 0 dst-address=192.168.88.32
/ip firewall nat unset 0 dst-address
>/ip firewall filter add chain=input psd=21,3s,3,1 action=add-src-to-address-list address-list=psd
/ip firewall raw add chain=prerouting src-address-list=psd action=drop
/ip firewall address-list
add list=ddos-attackers
add list=ddos-target
/ip settings set tcp-syncookies=yes
/ip firewall filter
add chain=forward connection-state=new action=jump jump-target=detect-ddos
add action=return chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s
add action=return chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s protocol=tcp tcp-flags=syn,ack
add action=add-dst-to-address-list address-list=ddos-target address-list-timeout=10m chain=detect-ddos
add action=add-src-to-address-list address-list=ddos-attackers address-list-timeout=10m chain=detect-ddos
/ip firewall raw
add action=drop chain=prerouting dst-address-list=ddos-target src-address-list=ddos-attackers
sudo vi /etc/haproxy/haprxy.cfg
backend Apache2_Server
mode http
http-request add-header X-Forwarded-For %[src]
http-request set-header X-Forwarded-Port %[dst_port]
sudo a2enmod remoteip
sudo vi /etc/apache2/apache2.conf
RemoteIPHeader X-Forwarded-For
sudo apache2ctl configtest
sudo systemctl apache2 restart