当前位置: 首页 > news >正文

做网站是买服务器还是买主机昆明网站建设建站技巧

做网站是买服务器还是买主机,昆明网站建设建站技巧,阿里巴巴网站运营,能挣钱的游戏排行榜前十名一、架构1.1现有网络现有网络架构如图一所示#xff0c;其中服务器网段为192.168.0.x使用专门线路接入internet#xff0c;192.168.88.x为网络设备网段#xff0c;其它都是办公网段使用另外的线路接入internet。图一、现有网络结构图1.2 ***架构在图一所示的网络架构中搭建一…一、架构1.1现有网络  现有网络架构如图一所示其中服务器网段为192.168.0.x使用专门线路接入internet192.168.88.x为网络设备网段其它都是办公网段使用另外的线路接入internet。图一、现有网络结构图1.2 ***架构  在图一所示的网络架构中搭建一台***服务器192.168.0.x网段在专门的安全设备上映射该服务器的内网地址外部***拨入输入外网地址。远程用户成功拨入后办公网络的用户可以正常访问已拨入的***客户端。如图二所示。***服务器配置如下  1、单网卡192.168.0.47  2、***客户段172.16.0.0  3、Office办公网段192.168.10.x-192.168.17.x图二、***网络结构图1.3 ***方案  通过使用CentOS6.364bit Open******服务器OpenSSLCA证书MySQL验证的方式组建***方案。二、安装配置linux系统2.1安装CentOS系统  通过正常方式安装CentOS6.3的64位版本。可以不安装图形界面字符界面的组件中建议选上基本的开发工具。可通过以下指令查看系统版本如图三所示。cat/etc/issue cat /proc/version图三、linux系统版本2.2配置系统yum源  完成安装后配置系统的yum源有助于后续软件的安装配置结合国内实际情况采用163.com的更新源速度和效率上都有保证。163的开源服务器地址为http://mirrors.163.com,各版本的linux在这里都有收集。wgethttp://mirrors.163.com/.help/CentOS6-Base-163.repo mv CentOS6-Base-163.repo/etc/yum.repos.d/ mv/etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.orig mv/etc/yum.repos.d/CentOS6-Base-163.repo /etc/yum.reops.d/CentOS-Base.repo wgethttp://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-7.noarch.rpm图四、yum源设置2.3配置系统时间  系统的时区和时间设置不准确会导致SQL查询和流量控制脚本运行不正常因些在安装系统后需正确设定系统的时区和时间。输入以下指令设置正确的系统时间。hwclock --set--date07/07/06 10:19 hwclock --hctosys  其中第一条语句是设定硬件时钟第二条语句是设定系统时钟和硬件时钟同步。同时时区的设定也很重要如果系统及硬件时钟正确而时区设定不正确的话会导致时间相差几个小时因些调整好时区也是一个重要的步骤。tzselect图五、时区设置  查找系统文件etc/sysconfig/clock并修改为ZONEAsia/Shanghai UTCtrue ARCfalse图六、时区设置  找到系统文件/usr/share/zoneinfo/Asia/Shanghai用这个文件替换当前的/etc/localtime文件cp/usr/share/zoneinfo/Asia/Shanghai /etc/localtime图七、时区设置2.4禁用selinux  selinux 确实提高了系统的安全性但另一方面也给应用程序增加了很多的不确定性。我在安装配置完zabbix后曾出现过始终无法打开浏览页面无法进入web安装界 面的情况后来禁用selinux后问题解决。对于selinux的启用与否个人见仁见智可以根据自已的需求决定是否开启。vi /etc/selinux/config SELINUXdisabled SELINUXTYPEtargeted图八、selinux设置三、安装相关组件3.1安装系统依赖组件yum -y install gcc gcc-c autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibcglibc-devel glib2 glib2-devel bzip2bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel opensslopenssl-devel图九、相关依赖组件安装3.2安装open***组件yum install open*** pam_krb5 pam_mysql pam pam-devel图十、open***组件安装3.3安装MySQL组件yum install mysql mysql-devel libgcrypt-devel lzo-mini lzo lzolzo-devel mysql-server mysql-libs图十一、MySQL组件安装四、配置证书  Open***可以使用PKI证书体系进行双向的认证操作也就是在建立***连接的同时除了服务器端要验证客户端的证书外客户端也要确认服务器端的证书。  当服务器端及客户端在相互认证时会利用根证书RootCA公钥进行对方证书的验证然后会再进行一些其它信息的测试例如验证对方证书上的common name或是其它类别。这样的机制有以下好处  1、服务端只需要知道它自已的凭证及私钥无需知道个别可能会连进来的客户端的证书及私钥。  2、服务端只接受由同一个根证书Root CA所签发的客户端证书。服务端不需要根证书的私钥即可进行验证。所以根证书RootCA的私钥可以安全保存到其它的机器上。  3、如果客户端的私钥有问题的话可以把它加入失效列表这样可以在连接时拒绝***连接。4.1复制证书模板图十二、证书配置4.2生成根证书Root CA  先修改证书生成变量文件保存退出然后开始清理。vi/etc/open***/easy-rsa/2.0/vars export KEY_COUNTRYCN#国家 export KEY_PROVINCEGD#省 export KEY_CITYDongGuan #城市 export KEY_ORGmyj#组织 export KEY_EMAILwaring_id126.com export KEY_EMAILwaring_id126.com export KEY_CNchangeme export KEY_NAMEchangeme export KEY_OUchangeme export PKCS11_MODULE_PATHchangeme export PKCS11_PIN1234 /etc/open***/easy-rsa/2.0/clean-all#清理 /etc/open***/easy-rsa/2.0/build-ca#生成根证书4.3生成服务端server客户端client证书及DH交换参数  DH密钥交换参数Diffie Hellman parameters主要用于加密通道未建立前在不安全的通道下建立一个密钥可以用这个密钥在第一次证书交换时加密使用。这个密钥只使用一次下次要用时会重新生成。/etc/open***/easy-rsa/2.0/build-key-serverserver#生成服务器证书 /etc/open***/easy-rsa/2.0/build-keyclient1#生成客户端证书 /etc/open***/easy-rsa/2.0/build-dh#生成DH交换参数  证书生成完毕后会在“/etc/open***/easy-rsa/2.0/keys/”下生成以下文件如表一所示。Filename Needed By Purpose Secret ca.crt server all clients Root CA certificate NO ca.key key signing machine only Root CA key YES Dh1024.pem server only Diffie Hellman parameters NO server.crt server only Server Certificate NO server.key server only Server Key YES client1.crt client1 only Client1 Certificate NO client1.key client1 only Client1 Key YESFilenameNeeded ByPurposeSecretca.crtserver all clientsRoot CA certificateNOca.keykey signing machine onlyRoot CA keyYESDh1024.pemserver onlyDiffie Hellman parametersNOserver.crtserver onlyServer CertificateNOserver.keyserver onlyServer KeyYESclient1.crtclient1 onlyClient1 CertificateNOclient1.keyclient1 onlyClient1 KeyYES表一、证书列表五、配置数据库  数据库使用MySQL主要用于存储***客户端拨入的用户名和密码在***拨入时进行验证操作MySQL的详细设定可以参考相关文档这里仅列出必须的指令。5.1配置启动数据库service mysqld start#启动数据库 mysql_secure_installation#数据库密码重设5.2新建数据库mysql -uroot -p CREATE DATABASE open***; GRANT ALL ON open***.* TOopen***localhost IDENTIFIED BY password;5.3创建用户数据表CREATE TABLE IF NOT EXISTSuser ( username char(32) COLLATEutf8_unicode_ci NOT NULL, password char(128) COLLATEutf8_unicode_ci DEFAULT NULL, active int(10) NOT NULLDEFAULT 1, creation timestamp NOT NULLDEFAULT CURRENT_TIMESTAMP, name varchar(32) COLLATEutf8_unicode_ci NOT NULL, email char(128) COLLATEutf8_unicode_ci DEFAULT NULL, note text COLLATEutf8_unicode_ci, quota_cycle int(10) NOT NULLDEFAULT 30, quota_bytes bigint(20) NOTNULL DEFAULT 10737418240, enabled int(10) NOT NULLDEFAULT 1, PRIMARY KEY (username), KEY idx_active (active), KEY idx_enabled (enabled) ) DEFAULT CHARSETutf8COLLATEutf8_unicode_ci;5.4创建日志数据表CREATE TABLE IF NOT EXISTSlog ( username varchar(32) COLLATEutf8_unicode_ci NOT NULL, start_time timestamp NOTNULL DEFAULT CURRENT_TIMESTAMP, end_time timestamp NOT NULLDEFAULT 0000-00-00 00:00:00, trusted_ip varchar(64)COLLATE utf8_unicode_ci DEFAULT NULL, trusted_port int(10) DEFAULTNULL, protocol varchar(16) COLLATEutf8_unicode_ci DEFAULT NULL, remote_ip varchar(64)COLLATE utf8_unicode_ci DEFAULT NULL, remote_netmask varchar(64)COLLATE utf8_unicode_ci DEFAULT NULL, bytes_received bigint(20)DEFAULT 0, bytes_sent bigint(20)DEFAULT 0, status int(10) NOT NULLDEFAULT 1, KEY idx_username(username), KEY idx_start_time(start_time), KEY idx_end_time(end_time) ) DEFAULT CHARSETutf8COLLATEutf8_unicode_ci; exit;#退出数据库六、配置pam支持MySQL验证  用户的验证信息用户名、密码保存在MySQL数据库中验证模块则是利用pam功能的新增pam_mysql.so插件来实现。需要注意的是32位和64位操作系统所引用的地址是有区别的。6.1安装pam.so组件cd /usr/src wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz tar zxvf pam_mysql-0.7RC1.tar.gz cd pam_mysql-0.7RC1 vi patch.in --- Makefile.in.chold2008-07-14 10:25:53.000000000 0200Makefile.in 2008-07-1410:26:06.000000000 0200-110,7 110,7 CPPFLAGS CPPFLAGS LDFLAGS LDFLAGS LIBS LIBS -pam_mysql_la_LIBADD pam_mysql_la_LIBADD -lpam pam_mysql_la_OBJECTSpam_mysql.lo CFLAGS CFLAGS COMPILE $(CC) $(DEFS) $(INCLUDES)$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) patch -p0 patch.in ./configure make make install cp /usr/lib64/open***/plugin/lib/open***-auth-pam.so/etc/open***/6.2修改open***让其支持MySQL验证crypt 表示密码在数据库中加密存储的方式含义如下Ø0 (or “plain”)不加密明文存储。不推荐使用。Ø1 (or “Y”)使用crypt(3)函数相当于MySQL 中的ENCRYPT()函数。Ø2 (or “mysql”)使用MySQL 的PASSWORD()函数。PAM可能与MySQL 的函数不同不推荐使用。Ø3 (or “md5″)使用MD5。Ø4 (or “sha1″)使用SHA1。vi /etc/pam.d/open*** auth sufficient /lib64/security/pam_mysql.so useropen***passwdwww.myj123.com hostlocalhostdbopen*** tableuser usercolumnusernamepasswdcolumnpassword whereactive1 sqllog1 crypt1 account required /lib64/security/pam_mysql.so useropen***passwdwww.myj123.com hostlocalhostdbopen*** tableuser usercolumnusernamepasswdcolumnpassword whereactive1 sqllog1 crypt16.3启动saslauthdservicesaslauthd start6.4添加测试用户mysql -u open***–p USE open***; INSERTINTO user(username, password) VALUES(test, ENCRYPT(test)); exit;6.5测试MySQL验证testsaslauthd -u test -p test-s open***如果提“0: OK Success.表示成功。七、配置open***7.1配置open***服务端  开始建立Open***的配置文件Open*** 服务启动时会扫描/etc/open*** 目录中的.conf 文件对于每个文件启动一个daemon。本系统要实现UDP、TCP 登录的同时支持可以写两份配置文件如tcp.confudp.conf即启动两个daemon分别负责TCP和UDP协议。以下以udp为例。vi /etc/open***/server.conf port 1194#使用1194端口 proto udp#使用UDP协议 devtun#使用tunn方式 ca /etc/open***/easy-rsa/2.0/keys/ca.crt#根证书 cert /etc/open***/easy-rsa/2.0/keys/server.crt#服务端证书 key /etc/open***/easy-rsa/2.0/keys/server.key#服务端key dh /etc/open***/easy-rsa/2.0/keys/dh1024.pem#DH交换密钥 server 172.16.0.0 255.255.255.0#***拨入后分配的地址 ifconfig-pool-persist ipp.txt#***拨入后IP信息 push route 172.16.0.0 255.255.255.0 push route 192.168.0.0 255.255.255.0 push route 192.168.16.0 255.255.255.0 push redirect-gateway def1 bypass-dhcp push dhcp-option DNS 202.96.128.166 push dhcp-option DNS 202.96.128.86 push dhcp-option DNS 172.16.0.1 keepalive 20 120#连接时间 plugin /etc/open***/open***-auth-pam.so open***#mysql验证方式 username-as-common-name#用户名验证 comp-lzo#压缩传输 max-clients 30 user nobody group nobody persist-key persist-tun status/var/log/open***/open***-status.log log-append /var/log/open***/open***.log verb 3 mute 5 script-security 2 client-connect ./connect.sh#连接时启用的脚本 client-disconnect ./disconnect.sh#断开连接时的脚本7.2配置open***流量控制  open***流量控制的主要作用是在用户连接时在数据库log 表中新建一条记录记录用户的IP 地址、端口号、连接时间等信息。在用户断开连接时更新刚才添加的记录记下用户的断开连接时间、发送数据量、接收数据量等。然后对用户的流量进行判断若超过配额则将用户锁定active0。  user 表中的quota_cycle 是用户的流量计算周期quota_bytes 是用户每个周期内最多允许的流量。connect.sh 和disconnect.sh 脚本文件中调用了Open*** 的环境变量。Open*** 在执行脚本时自动各种设置了环境变量供脚本使用。vi /etc/open***/connect.sh#连接脚本 #!/bin/bash DBopen*** DBADMINopen*** DBPASSWDpassword mysql -u$DBADMIN -p$DBPASSWD -e INSERT INTOlog(username,start_time,trusted_ip,trusted_port,protocol,remote_ip,remote_netmask,status) VALUES($common_name,now(),$trusted_ip,$trusted_port,$proto_1,$ifconfig_pool_remote_ip,$route_netmask_1,1)$DB vi /etc/open***/disconnect.sh#断开连接时脚本 #!/bin/bash DBopen*** DBADMINopen*** DBPASSWDpassword mysql -u$DBADMIN -p$DBPASSWD -e UPDATE log SETend_timenow(),bytes_received$bytes_received,bytes_sent$bytes_sent,status0WHERE trusted_ip$trusted_ip AND trusted_port$trusted_port ANDremote_ip$ifconfig_pool_remote_ip AND username$common_name ANDstatus1 $DB mysql -u$DBADMIN -p$DBPASSWD -e UPDATE user SETactive0 WHERE user.username IN (SELECT username FROM (SELECT log.username ASusername, quota_bytes FROM user, log WHERE log.username$common_name ANDlog.usernameuser.username AND log.status0 ANDTO_DAYS(NOW())-TO_DAYS(start_time) quota_cycle GROUP BY log.usernameHAVING SUM(bytes_received)SUM(bytes_sent)quota_bytes) AS u); $DB chmod x /etc/open***/connect.sh chmod x/etc/open***/disconnect.sh  使用cron 每天对用户进行检查以上操作在用户超过流量时自动将用户锁定。每天还应该执行一次检查把已经恢复流量的用户解锁。可以通过cron实现此功能。vi /etc/cron.daily/open***#每天定时执行脚本 #!/bin/bash DBopen*** DBADMINopen*** DBPASSWDpassword mysql -u$DBADMIN -p$DBPASSWD -e UPDATE user SETactive1 $DB mysql -u$DBADMIN -p$DBPASSWD -e UPDATE user SETactive0 WHERE user.username IN (SELECT username FROM (SELECT log.username ASusername, quota_bytes FROM user, log WHERE log.usernameuser.username ANDlog.status0 AND TO_DAYS(NOW())-TO_DAYS(start_time) quota_cycle GROUP BYlog.username HAVING SUM(bytes_received)SUM(bytes_sent)quota_bytes) ASu); $DB mysql -u$DBADMIN -p$DBPASSWD -e UPDATE user SETactive0 WHERE enabled0 $DB chmod x /etc/cron.daily/open***7.3配置open***客户端windows  需要先安装windows下的客户端客户端分为32位版本和64位两种下载后正常安装。安装完成后在“C:\Program Files\Open***\config\”下将client1.key、client1.crt和ca.crt放入该文件夹同时建立以下客户端配置文件如myopen***.o***,详情如下所示。client devtun protoudp remote 远程IP 1194 resolv-retry infinite nobind persist-key persist-tun --ca ca.crt --cert client1.crt --key client1.key auth-user-pass ns-cert-type server keepalive 20 60 comp-lzo verb 3 mute 20 route-method exe route-delay 2  客户端启动open***后选择连接connect后输入用户验证的用户名和密码拨入成功后如图十二、十三、十四所示。图十二、open***客户端图十三、open***客户端图十四、open***客户端7.4配置open***客户端ubuntusudo apt-get open*** sudocp/usr/share/doc/open***/examples/sample-config-files/client.conf /etc/open***/ sudocp /home/hd123/ca.crt ./ sudocp /home/hd123/client1.*./ sudo vi/etc/open***/client.conf sudoopen*** --config/etc/open***/client.conf#启动客户端八、启动并测试open***8.1启动open***  在服务器端启动open***服务。运行以下指令后open***服务器端会启动相应服务服务启动后可查看配置文件中设定的日志定位存在的问题启动成功后会在系统中生成一块tun0网卡如图十五所示。serviceopen*** start图十五、MySQL组件安装8.2启用系统路由转发vi /etc/sysctl.conf net.ipv4.ip_forward 1 net.ipv4.conf.all.send_redirects 0 net.ipv4.conf.all.accept_redirects 0 sysctl -p8.3配置防火墙:INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [11:874] -A INPUT -m state --stateRELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -p udp -m udp--dport 1194 -j ACCEPT -A INPUT -itun -j ACCEPT -A INPUT -p tcp -m state--state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p udp -m state--state NEW -m udp --dport 1194 -j ACCEPT -A INPUT -j REJECT--reject-with icmp-host-prohibited -A FORWARD -itun -o eth0 -jACCEPT -A FORWARD -i eth0 -o tun -jACCEPT -A FORWARD -j REJECT--reject-with icmp-host-prohibited -A OUTPUT -o eth0 -p udp -mudp --sport 1194 -j ACCEPT -A OUTPUT -o tun -j ACCEPT -A FORWARD -j REJECT--reject-with icmp-host-prohibited -A OUTPUT -o eth0 -p udp -mudp --sport 1194 -j ACCEPT -A OUTPUT -o tun -j ACCEPT -A OUTPUT -o eth0 -p icmp -jACCEPT -A OUTPUT -o eth0 -p tcp -mtcp --sport 22 -j ACCEPT COMMIT
http://wiki.neutronadmin.com/news/77554/

相关文章:

  • 阿里云网站建设流程网上效果代码网站可以下载吗
  • 哪个网站可以做ppt网站的规划与建设课程设计
  • 网站设计与平面设计区别广州网站设计 信科网络
  • 摄影网站的模板企业局域网组网方案
  • 群晖做网站连接数据库网站建设的实验报告总结
  • 网站收录提交入口网址佛山网站建设运营
  • 昆明网络推广公司排名三明seo培训
  • 高中男女做羞羞视频网站新站seo快速排名 排名
  • 中国网站建设公司河南网站排名优化价格
  • 网络上建个网站买东西多少钱传奇手游官方网站
  • 苏州网站建设极简幕枫长沙网络营销介绍
  • 鄂州网站开发充值网站制作
  • 河南做网站哪家好中国建设银行官网站
  • 做调查赚钱的网站域名怎么注册
  • 营销型网站设计方针大型交流论坛平台有哪些
  • 网站建设的公司太多了微信公众号视频网站开发
  • 网站建设代理平台有哪些手机怎么跳过国家禁止访问
  • 湖畔魔豆基金会公益网站开发wordpress淘口令插件
  • 购买网站模板做网站需要的企业
  • “网站制作”优化内容
  • 福州seo建站做模板网站价格
  • 建设银行企业网站首页东莞做微网站建设
  • 大连网站制作开发php 同学录在线网站开发
  • 怎么做个网站深圳市住房和建设局网站住房保障服务
  • 做网站的软件叫codephp做企业网站需要多久
  • 怎么做网站推广的步骤品牌建设是什么
  • 怎么备份网站数据库郑州seo公司哪家好
  • 建设学校网站需求分析建筑资质最新政策2023年
  • 餐饮业网站源码 织梦柳城网站开发
  • 最牛的视频网站建设汕头专业网站制作公司