mssql压缩日志及数据库文件大小
--如何压缩日志及数据库文件大小
--1.清空日志
DUMP TRANSACTION tt2018dnn WITH NO_LOG
--2.截断事务日志:
BACKUP LOG tt2018dnn WITH NO_LOG
----收缩数据库
DBCC SHRINKDATABASE(tt2018dnn)
--如何压缩日志及数据库文件大小
--1.清空日志
DUMP TRANSACTION tt2018dnn WITH NO_LOG
--2.截断事务日志:
BACKUP LOG tt2018dnn WITH NO_LOG
----收缩数据库
DBCC SHRINKDATABASE(tt2018dnn)
https://www.cnblogs.com/linyidian/p/9703412.html
1、一台电脑的网站服务器架构
2、应用程序、文件、数据库三者分离
3、利用缓存改善网站性能
4、利用集群改善应用服务器性能——负载均衡服务器
5、数据库读写分离
6、数据库分库分表
7、利用CDN和反向代理提高网站性能
8、使用分布式存储系统
9、使用搜索引擎和NoSql
10、应用程序服务业务拆分
11、搭建分布式服务
Windows Admin Center 是一个基于浏览器的图形管理工具,可以在 Server Core 运行环境中取代服务器管理和 MMC。可以通过一台Windows Admin Center管理多台windows server core.
您可以按以下步骤安装 Windows Admin Center。
1、下载Windows Admin Center
curl -o WindowsAdminCenter1904.msi https://download.microsoft.com/download/1/0/5/1059800B-F375-451C-B37E-758FFC7C8C8B/WindowsAdminCenter1904.msi
或者
curl -o https://www.msdgq.com:4433/blog/usr/uploads/2020/01/2150990991.msi
curl -o WindowsAdminCenter2311.msi https://download.microsoft.com/download/1/0/5/1059800B-F375-451C-B37E-758FFC7C8C8B/WindowsAdminCenter2311.msi
2、安装Windows Admin Center
msiexec /i c:WindowsAdminCenter1904.msi /qn /L*v log.txt SME_PORT=443 SSL_CERTIFICATE_OPTION=generate
3、 通过浏览器访问https://ip/
4、Windows Admin Center管理的项目:
sconfig
Get-WindowsFeature
Install-WindowsFeature web-server
install-windowsfeature Web-Net-Ext45
install-windowsfeature web-asp-net45
Install-WindowsFeature web-server,Web-Net-Ext45,web-asp-net45
对比:
查看所有防火墙入站策略
netsh advfirewall firewall show rule name=all dir=in
查看所有防火墙入站策略中包含ICMP字符串
netsh advfirewall firewall show rule name=all dir=in| find "ICMP"
修改防火墙规则
name:规则名称
dir:方向,in为入站,out为出站
localport:指定端口号
action:操作,allow允许连接,block阻止连接
enable:是否启用规则: yes启用, no禁用
protocol:协议类型
netsh advfirewall firewall set rule name="文件和打印机共享(回显请求 - ICMPv4-In)" dir=in new enable=yes
案例1: 允许一个程序
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=private
案例2: 允许一个端口
netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80
案例3: 删除一条规则
netsh advfirewall firewall delete rule name=rule nameprogram="C:\MyApp\MyApp.exe
netsh advfirewall firewall delete rule name=rule nameprotocol=udp localport=500
案例4: 设置ICMP
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
netsh advfirewall firewall add rule name="All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
netsh advfirewall firewall add rule name="Block Type 13 ICMP V4" protocol=icmpv4:13,any dir=in action=block
案例5: 设置logging
netsh advfirewall set currentprofile logging filename %systemroot%\system32\LogFiles\Firewall\pfirewall.log
netsh advfirewall set currentprofile logging maxfilesize 4096
netsh advfirewall set currentprofile logging droppedconnections enable
netsh advfirewall set currentprofile logging allowedconnections enable
案例6: 开启防火墙
netsh advfirewall set currentprofile state on
netsh advfirewall set currentprofile firewallpolicy blockinboundalways,allowoutbound
案例7: 重置防火墙
netsh advfirewall reset
案例8: 允许某个服务
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes profile=domain
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes profile=private
// ===============================================================
恢复到默认设置
Netsh advfirewall reset
导出防火墙配置
netsh advfirewall export “c:\advfirewall.wfw”
导入防火墙配置
Netsh advfirewall import “c:\advfirewall.wfw”
增加一个针对messenger.exe的入站规则
netsh advfirewall firewall add rule name="allow messenger" dir=in program="c:\programfiles\messenger\msmsgs.exe” action=allow
删除针对本地21端口的所有入站规则:
netsh advfirewall firewall delete name rule name=all protocol=tcp localport=21
让防火墙关闭所有配置文件:
netsh advfirewall set allprofiles state off
在所有配置文件中设置默认阻挡入站并允许出站通信:
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
在所有配置文件中打开远程管理:
netsh advfirewall set allprofiles settings remotemanagement enable
在所有配置文件中记录被断开的连接:
netsh advfirewall set allprofiles logging droppedconnections enable
(1)启用桌面防火墙
netsh advfirewall set allprofiles state on
(2)设置默认输入和输出策略
netsh advfirewall set allprofiles firewallpolicy allowinbound,allowoutbound
以上是设置为允许,如果设置为拒绝使用blockinbound,blockoutbound
(3)关闭tcp协议的139端口
netsh advfirewall firewall add rule name="deny tcp 139" dir=in protocol=tcp localport=139 action=block
(4)关闭udp协议的139端口
netsh advfirewall firewall add rule name="deny udp 139" dir=in protocol=udp localport=139 action=block
(5)关闭tcp协议的445端口
netsh advfirewall firewall add rule name="deny tcp 445" dir=in protocol=tcp localport=445 action=block
(6)关闭udp协议的445端口
netsh advfirewall firewall add rule name="deny udp 445" dir=in protocol=udp localport=445 action=block
(7)使用相同的方法,依次关闭TCP协议的21、22、23、137、138、3389、5800、5900端口。
netsh advfirewall firewall add rule name= "deny tcp 21" dir=in protocol=tcp localport=21 action=block
netsh advfirewall firewall add rule name= "deny tcp 22" dir=in protocol=tcp localport=22 action=block
netsh advfirewall firewall add rule name= "deny tcp 23" dir=in protocol=tcp localport=23 action=block
netsh advfirewall firewall add rule name= "deny tcp 3389" dir=in protocol=tcp localport=3389 action=block
netsh advfirewall firewall add rule name= "deny tcp 5800" dir=in protocol=tcp localport=5800 action=block
netsh advfirewall firewall add rule name= "deny tcp 5900" dir=in protocol=tcp localport=5900 action=block
netsh advfirewall firewall add rule name= "deny tcp 137" dir=in protocol=tcp localport=137 action=block
netsh advfirewall firewall add rule name= "deny tcp 138" dir=in protocol=tcp localport=138 action=block
(8)执行完毕后暂停
pause
echo 按任意键退出
恢复初始配置
(1)恢复初始防火墙设置
netsh advfirewall reset
(2)关闭防火墙
netsh advfirewall set allprofiles state off
补充:
GPEDIT.MSC中的策略作用大于FIREWALL高级设置中的设置,比如:
windows 防火墙:允许入站远程桌面例外中 不圈定访问ip,那么在firewall的高级设置中,即便限制了3389端口的IP范围也没用.
2.封对外访问
netsh advfirewall firewall add rule name ="PhaseACL" dir=out remoteip=3.3.3.3 action=block
https://docs.microsoft.com/zh-cn/windows-server/administration/server-core/server-core-administerWindows
http://wangye.org/blog/archives/1222/
https://www.cnblogs.com/yorkzang/p/8891970.html
https://blog.51cto.com/yupeizhi/1955871
管理服务器核心的具体操作命令:
https://www.cnblogs.com/IPYQ/p/6800616.html
Windows PowerShell:管理服务器
https://www.cnblogs.com/edward2013/p/3534443.html
Windows Server 2016 使用 PowerShell cmdlet 安装角色、角色服务和功能
https://blog.csdn.net/sinat_28371057/article/details/90166047
$account = "IIS_IUSRS"
$FileSystemRights = "FullControl"
$objType = [System.Security.AccessControl.AccessControlType]::Allow
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule ($account,$FileSystemRights,$objType)
$Folder = "C:\inetpub\ftproot\RbbioWeb\Web.config"
$acl = Get-Acl $Folder
$acl.SetAccessRule($accessRule)
Set-Acl -Path $Folder -AclObject $acl
https://docs.microsoft.com/zh-cn/windows-server/manage/windows-admin-center/overview
Firewalld使用区域和服务的概念,根据你要配置的区域和服务,你可以控制允许或禁止与系统进行的流量。
可以使用firewall-cmd命令行实用程序配置和管理Firewalld。
在CentOS 8操作系统中,iptables被nftables替代,作为firewalld守护程序的默认防火墙后端。
区域是预定义的规则集,用于指定计算机连接到的网络的信任级别,你可以将网络接口和源分配给区域。
以下是FirewallD提供的区域,根据区域的信任级别从不信任到信任:
drop:删除所有传入连接,而无任何通知,仅允许传出连接。
block:所有传入连接均被拒绝,其中icmp-host禁止消息用于IPv4,icmp6-adm禁止用于IPv6n,仅允许传出连接。
public:用于不受信任的公共区域,你不信任网络上的其他计算机,但是可以允许选择的传入连接。
external:用于在系统充当网关或路由器时启用了NAT伪装的外部网络,仅允许选择的传入连接。
internal:当系统充当网关或路由器时,用于内部网络,网络上的其他系统通常是受信任的,仅允许选择的传入连接。
dmz:用于非军事区中访问网络其余部分的计算机,仅允许选择的传入连接。
work:用于工作机,网络上的其他计算机通常是受信任的,仅允许选择的传入连接。
home:用于家用机器,网络上的其他计算机通常是受信任的,仅允许选择的传入连接。
trusted:接受所有网络连接,信任网络中的所有计算机。
防火墙服务是预定义的规则,适用于区域,并定义必要的设置以允许特定服务的传入流量,该服务使你可以轻松地在一个步骤中执行多个任务。
例如,服务可以包含有关打开端口,转发流量等的定义。
Firewalld使用两个单独的配置集,即运行时配置和永久配置。
运行时配置是实际的运行配置,并且不会在重新启动后持续存在,当firewalld守护程序启动时,它将加载永久配置,该配置将成为运行时配置。
默认情况下,使用firewall-cmd实用程序对Firewalld配置进行更改时,更改将应用于运行时配置,要使更改永久生效,请在命令后附加--permanent选项。
要在两个配置集中应用更改,可以使用以下两种方法之一:
1]、更改运行时配置并将其永久化:
$ sudo firewall-cmd
$ sudo firewall-cmd --runtime-to-permanent
2]、更改永久配置并重新加载firewald守护程序:
$ sudo firewall-cmd --permanent
$ sudo firewall-cmd --reload
在CentOS 8操作系统上,默认情况下已安装并启用firewalld,如果由于某种原因未在系统上安装它,则可以通过键入以下命令来安装并启动守护程序:
$ sudo dnf install firewalld
$ sudo systemctl enable firewalld --now
可以使用以下方法检查防火墙服务的状态:
$ sudo firewall-cmd --state
如果启用了防火墙,该命令应显示正在运行,否则,你将看到未运行。
参考:CentOS 7下使用FirewallD构建动态防火墙。
如果尚未更改,则默认区域设置为public,所有网络接口都分配给该区域。
默认区域是用于所有未明确分配给另一个区域的区域。
可以通过键入以下命令查看默认区域:
$ sudo firewall-cmd --get-default-zone
返回:
public
要获取所有可用区域的列表,请输入:
$ sudo firewall-cmd --get-zones
返回:
block dmz drop external home internal public trusted work(阻止dmz放下外部家庭内部公共信任的工作)
要查看活动区域和分配给它们的网络接口,请执行以下操作:
$ sudo firewall-cmd --get-active-zones
下面的输出显示接口eth0和eth1已分配给公共区域:
public
interfaces: eth0 eth1
可以使用以下命令打印区域配置设置:
$ sudo firewall-cmd --zone=public --list-all
返回:
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
从上面的输出中,我们可以看到公共区域处于活动状态,并使用默认目标REJECT,输出还显示该区域由eth0和eth1接口使用,并允许DHCP客户端和SSH通信。
如果要检查所有可用区域的配置,请输入:
$ sudo firewall-cmd --list-all-zones
该命令将显示包含所有可用区域设置的巨大列表。
1、更改区域目标
目标为未指定的传入流量定义区域的默认行为,可以将其设置为以下选项之一:默认,接受,拒绝和删除。
要设置区域的目标,请使用--zone选项指定区域,并使用--set-target选项指定目标。
例如,要将公共区域的目标更改为DROP,可以运行:
$ sudo firewall-cmd --zone=public --set-target=DROP
2、将接口分配给其他区域
你可以为不同区域创建特定的规则集,并为其分配不同的接口,当你在计算机上有多个接口时,这特别有用。
要将接口分配给其他区域,请使用--zone选项指定区域,并使用--change-interface选项指定接口。
例如,以下命令将eth1接口分配给工作区:
$ sudo firewall-cmd --zone=work --change-interface=eth1
通过键入以下命令来验证更改:
$ sudo firewall-cmd --get-active-zones
返回:
work
interfaces: eth1
public
interfaces: eth0
3、更改默认区域
要更改默认区域,请使用--set-default-zone选项,后跟要设为默认区域的名称。
例如,要将默认区域更改为home,可以运行以下命令:
$ sudo firewall-cmd --set-default-zone=home
使用以下命令验证更改:
$ sudo firewall-cmd --get-default-zone
返回:
home
防火墙服务
使用防火墙,可以基于称为服务的预定义规则允许特定端口或源的流量。
要获取所有默认可用服务的列表,请输入:
$ sudo firewall-cmd --get-services
通过打开/usr/lib/firewalld/services目录中的关联.xml文件,可以找到有关每个服务的更多信息,例如,HTTP服务的定义如下(/usr/lib/firewalld/services/http.xml文件):
<?xml version="1.0" encoding="utf-8"?>
要仅对当前会话(运行时配置)允许公共区域中的接口允许传入的HTTP通信(80端口),请输入:
$ sudo firewall-cmd --zone=public --add-service=http
如果要修改默认区域,则可以省略--zone选项。
要验证是否已成功添加服务,请使用--list-services选项:
$ sudo firewall-cmd --zone=public --list-services
返回:
ssh dhcpv6-client http
如果你想在重启后将80端口保持打开状态,则需要再次输入相同的命令,但这一次带有--permanent选项:
$ sudo firewall-cmd --permanent --zone=public --add-service=http
使用--list-services和--permanent选项来验证你的更改:
$ sudo firewall-cmd --permanent --zone=public --list-services
返回:
ssh dhcpv6-client http
删除服务的语法与添加服务时的语法相同,只需使用--remove-service而不是--add-service选项即可:
$ sudo firewall-cmd --zone=public --remove-service=http --permanent
上面的命令从公共区域永久配置中删除http服务。
下面讲解:创建一个新的FirewallD服务。
正如我们已经提到的,默认服务存储在/usr/lib/firewalld/services目录中,创建新服务的最简单方法是将现有服务文件复制到/etc/firewalld/services目录(该目录是用户创建的服务的位置)并修改文件设置。
例如,要为Plex Media Server创建服务定义,可以使用SSH服务文件:
$ sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/plexmediaserver.xml
打开新创建的plexmediaserver.xml文件,并在
在下面的示例中,我们打开端口1900 UDP和32400 TCP(/etc/firewalld/services/plexmediaserver.xml文件):
/etc/firewalld/services/plexmediaserver.xml
<?xml version="1.0" encoding="utf-8"?>
保存文件并重新加载FirewallD服务:
$ sudo firewall-cmd --reload
现在,可以像其他任何服务一样在你的区域中使用plexmediaserver服务。
打开端口和源IP
Firewalld还允许你快速启用来自受信任IP地址或特定端口上的所有流量,而无需创建服务定义。
1、打开源IP
要允许来自特定IP地址(或范围)的所有传入流量,请使用--zone选项指定区域,并使用--add-source选项指定源IP。
例如,要在公共区域中允许来自192.168.1.10的所有传入流量,请运行:
$ sudo firewall-cmd --zone=public --add-source=192.168.1.10
使新规则持久化:
$ sudo firewall-cmd --runtime-to-permanent
使用以下命令验证更改:
$ sudo firewall-cmd --zone=public --list-sources
返回:
192.168.1.10
删除源IP的语法与添加源IP的语法相同,只需使用--remove-source,而不是--add-source选项:
$ sudo firewall-cmd --zone=public --remove-source=192.168.1.10
2、打开源端口
要允许给定端口上的所有传入流量,请使用--zone选项指定区域,并使用--add-port选项指定端口和协议。
例如,要为当前会话打开公共区域中的8080端口,请运行:
$ sudo firewall-cmd --zone=public --add-port=8080/tcp
该协议可以是tcp、udp、sctp或dccp。
验证更改:
$ sudo firewall-cmd --zone=public --list-ports
返回:
8080
要在重新启动后使端口保持打开状态,请使用--permanent选项运行同一命令,或执行以下命令,将规则添加到永久设置中:
$ sudo firewall-cmd --runtime-to-permanent
删除端口的语法与添加端口时的语法相同,只需使用--remove-port,而不是--add-port选项即可:
$ sudo firewall-cmd --zone=public --remove-port=8080/tcp
转发端口
要将流量从一个端口转发到另一个端口,请首先使用--add-masquerade选项启用对所需区域的伪装,例如,要对外部区域启用伪装,请键入:
$ sudo firewall-cmd --zone=external --add-masquerade
1、将流量从一个端口转发到IP地址上的另一个端口
在以下示例中,我们将流量从80端口转发到同一服务器上的8080端口:
$ sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080
2、将流量转发到另一个IP地址
在以下示例中,我们将流量从80端口转发到IP 10.10.10.2的服务器上的80端口:
$ sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=10.10.10.2
3、将流量转发到其他端口上的另一台服务器
在下面的示例中,我们将流量从80端口转发到IP 10.10.10.2的服务器上的8080端口:
$ sudo firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=10.10.10.2
要使转发规则持久化,请使用:
$ sudo firewall-cmd --runtime-to-permanent
结论
通过上面的操作步骤,你已经了解了如何在CentOS 8系统上配置和管理防火墙服务。
确保允许系统正常运行所必需的所有传入连接,同时限制所有不必要的连接。
假设网卡标识符为xxx
# vi /etc/sysconfig/network-scripts/ifcfg-xxx
使用nmcli重新加载网络配置
# nmcli c reload
重启网卡,使得重新加载的网络配置生效
# nmcli c up xxx(只开启指定的网卡)
查看网卡信息
# nmcli connection
NAME UUID TYPE DEVICE
ens33 a92fa07b-9b68-4d2b-a2e7-e55146099b1b ethernet ens33
ens36 418da202-9a8c-b73c-e8a1-397e00f3c6b2 ethernet ens36
# nmcli con xxx
显示具体的网络接口信息
# nmcli connection show xxx
显示所有活动连接
# nmcli connection show --active
删除一个网卡连接
# nmcli connection delete xxx
给xxx添加一个IP(IPADDR)
# nmcli connection modify xxx ipv4.addresses 192.168.0.58
给xxx添加一个子网掩码(NETMASK)
# nmcli connection modify xxx ipv4.addresses 192.168.0.58/24
IP获取方式设置成手动(BOOTPROTO=static/none)
# nmcli connection modify xxx ipv4.method manual
添加一个ipv4
# nmcli connection modify xxx +ipv4.addresses 192.168.0.59/24
删除一个ipv4
# nmcli connection modify xxx -ipv4.addresses 192.168.0.59/24
添加DNS
# nmcli connection modify xxx ipv4.dns 114.114.114.114
删除DNS
# nmcli connection modify xxx -ipv4.dns 114.114.114.114
添加一个网关(GATEWAY)
# nmcli connection modify xxx ipv4.gateway 192.168.0.2
可一块写入:
# nmcli connection modify xxx ipv4.dns 114.114.114.114 ipv4.gateway 192.168.0.2
添加DNS
# nmcli connection modify xxx ipv4.dns 114.114.114.114
删除DNS
# nmcli connection modify xxx -ipv4.dns 114.114.114.114
添加一个网关(GATEWAY)
# nmcli connection modify xxx ipv4.gateway 192.168.0.2
可一块写入:
# nmcli connection modify xxx ipv4.dns 114.114.114.114 ipv4.gateway 192.168.0.2
**使用nmcli重新回载网络配置
# nmcli c reload
如果之前没有xxx的connection,则上一步reload后就已经自动生效了
# nmcli c up xxx**