eth架设
『壹』 区块链问题:在以太坊链和币安链和火币链,三链合约地址相同的币,技术含量高吗
随着区块链技术的不断推广,很多人都觉得,数字货币就是区块链,区块链就是数字货币。
其实,很多包装成很高大上的数字货币,数字货币交易所,数字货币挖矿机,都是之前各种资金盘,杀猪盘以及骗术,换上一层新的外衣而已。
(一) 世界范围内受认可的数字货币
全世界公认的的数字货币,只有寥寥几种。
比如最知名的是比特币,英文为Bitcoin。它是数字货币的最有代表者。目前很多转账交易,都是利用比特币在进行。
另外一个,是以太坊,英文为ETH。现在大量的存在的数字货币应用,基本都是建立在ETH的基础上的。
所以,在数字货币领域,公认有价值的,可以说只有这两个。
2017年9月30日,中国境内的全部数字资产交易平台已经全面停止所有交易业务。所以,现在只能是通过一系列特殊手段才能去架设在国外的服务器上的交易所购买数字货币,并且也是属于灰色地带。
同时最为致命的是,即使是数字货币的龙头的比特币,行情也极其不稳定。
比如2020年5月10日,比特币单价在半小时内从9500美元价位瞬间下跌了上千美元,最低价格跌破8200美元,最高价差超1400美元,合人民币将近1万元。
这个跌幅是被A股10%跌幅保护起来的普通民众,极其难以承受的。
由此可见,就算是比特币和以太坊,去投资之前,也要仔细研究清楚,并且掂量自己,是否有这个承受能力,再去投资。
(二) 一些模仿比特币和以太坊的山寨币
我们说到,在数字货币领域,有投资价值的,可以说只有比特币和以太坊这两个。为什么呢?
这是由于比特币和以太坊算法是完全开源的,谁都可以下载到源码,修改些参数,重新编译下,就能创造一种新的p2p货币。但这些山寨货币很脆弱,极易遭到51%攻击。任何个人或组织,只要控制一种p2p货币网络51%的运算能力,就可以随意操纵交易、币值,这会对p2p货币构成毁灭性打击。很多山寨币,就是死在了这一环节上。而比特币网络已经足够健壮,想要控制比特币网络51%的运算力,所需要的cpu/gpu数量将是一个天文数字。
这也是比特币和以太坊能坚挺到现在,仍然全世界通用的原因。而很多山寨币却只是如流星般闪过。
比较有名的山寨币,包括EOS,LTC等,都是上市前,全世界翘首以盼,上市后,由于自身的功能不健全,被打回原型。
所以,当时买了这些山寨币的人,大多亏得很惨。别忘了,我们上文还提到,数字货币大幅波动极为常见,没有任何涨跌幅限制。
所以,大家不要去碰山寨币。
『贰』 linux系统平台下如何架设网吧服务器
network就是主网络设置文件 ifcfg-eth0eth0就是网卡设置文件 ifcfg-eth1eth1就是网卡设置文件 hosts就是网络主机名配置 static-routes就是静态路由表文件 rc.localIPTABLES就是脚本 sysctl.confLinux就是内核IP转发启用文件 上面这几个文件对应的目录是: /etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1/etc/hosts/etc/sysconfig/static-routes /etc/rc.d/rc.local /etc/sysctl.conf 首先我们修改一下ifcfg-eth2(以后会接网通IP:11.11.11.11)ifcfg-eth1(电信IP:22.22.22.22)和ifcfg-eth0(内网)三个文件。这是网卡的IP地址文件!ifcfg-eth0就对应大家内网的IP和网关(可以根据你的实际情况进行设置,想让那个做内网都行)而ifcfg-eth1跟ifcfg-eth2就是外网的IP和网关。 这样大家在设置完了之后我们设置host文件,也就是设置好工作组,做完了后修改sysctl.conf也就是IP转发文件。在这里一定要起用IP转发才可以。里面可以这样: net.ipv4.ip_forward=1 net.ipv4.conf.default.rp_filter=1 kernel.sysrq=0 接着就是static-routes文件。这个文件是静态路由表文件!这个文件记得一定添加才可以!然后修改resolv文件。这个文件是你DNS服务器的地址文件,下面就是双线接入的策略了。 首先需要将从两个WAN口出去的数据包进行IP伪装masquerade /sbin/iptables-tnat-Apostrouting-oeth1-jmasquerade /sbin/iptables-tnat-Apostrouting-oeth2-jmasquerade 接着再给系统增加一个标示为11的路由表,增加一个默认网关,这个默认网关是网通提供的网关。
『叁』 「官方」搭建Web3:Filecoin与以太坊携手共进
这是Protocol Labs创始人Juan Benet在EthCC 2021上的演讲概要,查看完整内容:
https://www.bilibili.com/video/BV1eb4y1r7E1
Filecoin网络是面向生态的,它与Protocol Labs搭建模块化解决方案的倾向是一致的。因为它本来就是设计给其他人使用,所以Filecoin在Web3领域的其他栈、应用和生态里如鱼得水。自从其在2020年10月的启动开始,Filecoin已经增长到超过8 exbibytes的可用存储空间,有超过400个项目进入了这个生态。以太坊就是一个能持续证明其可协作性和共同利益的生态系统。
Filecoin + 以太坊
>>>>Filecoin和以太坊虚拟机(EVM)
Filecoin生态意识到网络支持智能合约的好处。最初,开发者社区相信架设在以太坊和Filecoin之间的桥服务足够在Filecoin上支持智能合约了。不过,通过桥来使用智能合约是很笨重的方式,相比于直接在以太坊实现智能合约的功能和可组合性更是不足。有一个提议是在Filecoin上加入以太坊虚拟机(EVM),从而在存储层启用对智能合约的支持,以及为这两个生态的结合提供更多机会。
>>>>开发者工具和资源
Fleek:让用户能为去中心化网络架设网站、存储和分发文件及开发dapp。Fleek可以让每一个人(从专业的开发者到日常的互联网用户)更容易以去中心化的方式创建app和存储文件,从而加速去中心化网络的采用率。Fleek可以在Filecoin上进行自动化存档,并通过ENS(以太坊域名服务)这样的应用来利用以太坊的生态系统。
https://fleek.co/
Web3.Storage:是一个让开发者在Filecoin去中心化存储网络上存取数据的简单接口。Web3.Storage为开发者(包括以太坊dapp开发者)提供了搭建应用的简单方式,这些应用可以带有冗余的去中心化的存储以及安全的内容寻址数据。
http://web3.storage/
PowerLoom:以去中心化的方式将链上和链下数据聚合起来以生成带有密码学证明的快照。它旨在通过一个丰富的节点和利益相关者生态系统(他们被激励参与到协议里)来搭建信任,并按需提供洞见。PowerLoom特别适用于以太坊DeFi这样的生态,这类系统是非常复杂的,而且需要基于验证的信任。
https://powerloom.io/
>>>>DeFi应用
SecuredFinance(https://secured-finance.com/)是一个综合平台,整合了基于智能合约的点对点固定利率贷款、抵押品管理服务、货币间交易和其他类型的利率产品。Secured Finance的协议是去中心化的点对点金融协议,提供了由以太坊智能合约赋能的区块链上的中后台银行业务。Secured Finance可以满足Filecoin网络内的需求,它提供的解决方案能够满足Filecoin存储提供者对FIL贷款的强烈需求。
>>>>数据市场
OceanProtocol(https://t.co/misApE3ggc?amp=1)是一个在Filecoin上搭建的数据市场。Ocean的数据token(data tokens)是以太坊ERC-20 token,可以轻易地用于发布和消费数据服务。如果你有1个数据token,你可以访问一个特定的数据服务。Ocean market是一个专门为数据服务的去中心化交易所,它分叉了一个Balancer AMM(自动化做市商)来降低gas成本。在这个市场中,用户可以对数据进行发布、购买、销售、消费和stake操作。
通过Filecoin,用户可以利用Ocean来发起自己的Filecoin数据市场,或创建一个Filecoin dataDAO或指数基金。通过Ocean Protocol的工具和Filecoin的去中心化存储数据库,我们正见证新生的开放数据经济。
>>>>视频应用
LivePeer:是一个去中心化的在线视频流媒体基础设施,由以太坊区块链确保安全性。将Filecoin和IPFS结合提供存储和内容分发功能后,去中心化视频应用就成为可能了。
https://livepeer.org/
Voodfy:正为私有的视频架设服务提供去中心化工具。这是一个多功能的安全流媒体解决方案,让用户能完全控制自己的内容,这包括了访问权的设定以及变现的方式。它利用了Livepeer、Ethereum、Textile Powergate和Filecoin.
https://voodfy.com/
VideoCoin:正搭建一个能可靠地创建、存储和交易基于视频的NFT解决方案,它可以绕过在以太坊上存储实际内容时固有的复杂性和费用。VideoCoin正将其去中心化视频处理网络与Filecoin整合起来,以搭建首个专门为创建和交易视频NFT服务的平台。这个平台是新生的全球数字收藏品市场急需的一部分。
https://videocoin.io/
>>>>NFT
nft.storage(http://nft.storage/)是一个由Protocol Labs实验室和Pinata支持的服务,它专门为存储NFT数据而设计。
nft.storage让开发者通过内容寻址和去中心化存储来保护其NFT资产和相关的元数据,确保所有的NFT遵循最佳实践以实现长期的可访问性。
未来的使用场景
随着Filecoin和Ethereum生态系统的成长和重叠,会出现更多的新生用例和开发者机会。一些可以进行创新的用例包括:
>>>>可组合的DeFIL
将存储和Defi的世界结合可以产生一些机会。人们可以将市场订单(如要价、出价和交易)带到一个去中心化交易所上,以观察市场是如何评判这些订单的价值的。通过这样的能力,生态系统可以开始想象硬件期货(hardware futures)和时空期货(spacetime futures)等的出现。
>>>>数据丰富的NFT
NFT将会越来越复杂,而Web3社区需要 探索 采用数据丰富(data-rich)的NFT的方式。VideoCoin已经将其视频处理引擎与Filecoin连接起来,以结合以太坊对NFT的支持能力及Filecoin的存储能力。像VideoCoin这样的工具可以用来创建一类新型的NFT,如短电影、视频片段和完整长度的专题特写。
>>>>按观看次数支付的媒体
通过在Filecoin上存储的信息,我们可以利用以太坊的token支持能力去创建由token保护的页面和媒体(文章、电影和音乐等)。我们可以复制Web2时代的按观看次数支付模式,而无需复制数据和广告模型。
这只是一个开始!Filecoin和以太坊生态有长期的协作 历史 和机会,未来可期。
『肆』 找人通过QQ远程协助架设个单机版完美SF
QQ远程?
英雄咱们能不开这玩笑吗?
算了 直接给你发个视频+服务器端的连接吧
ftp://116.52.148.142/pw3server.rar
解压密码是:ljiww.cn
一、硬件的安装
1、保证服务器风扇正常转动。
2、保证服务器各个提示灯是否正常。
3、开机察看服务器有无报警情况。
4、开机察看服务器能否正常启动(不插鼠标键盘的情况下)
二、系统的安装
1、 安装RHEL 4.1
2、 选择自动分区。
3、 分别给2块网卡配置ip,方便以后配置,其中eth0配内网ip,eth1配外网ip。
4、 不启用防火墙。
5、 增加中文语言包。
6、 选择软件包时,只选择开发包.
三、系统的简单设置
1、防火墙的简单设置:
vi /etc/rc.d/forward
内容:(例子)
#!/bin/bash
echo 1 >/proc/sys/net/ipv4/ip_forward
if [ -e /proc/sys/net/ipv4/tcp_ecn ]
then
echo 0 > /proc/sys/net/ipv4/tcp_ecn
fi
/sbin/iptables -F
/sbin/iptables -F -t nat
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#/sbin/iptables -A INPUT -i eth0 -p tcp -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -i eth0 -p udp -j REJECT --reject-with icmp-port-unreachable
#sshd
/sbin/iptables -A INPUT -s 218.80.198.234 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -s 218.80.198.250 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -s 210.22.188.21 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#ftp server
#/sbin/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
#game server
/sbin/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 6020 -j ACCEPT
#db server
/sbin/iptables -t nat -A PREROUTING -s 218.80.198.234 -d 203.110.165.30 -p tcp --dport 3306 -j DNAT --to 192.168.102.158:3306
/sbin/iptables -t nat -A PREROUTING -s 218.80.198.234 -d 203.110.165.30 -p tcp --dport 3307 -j DNAT --to 192.168.102.159:3306
/sbin/iptables -P INPUT DROP
/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.102.0/24 -j MASQUERADE
保存后退出。
chmod 744 /etc/rc.d/forward
然后运行防火墙脚本,以后根据需求修改脚本。
再vi /etc/rc.d/only_forward
#!/bin/bash
echo 1 >/proc/sys/net/ipv4/ip_forward
if [ -e /proc/sys/net/ipv4/tcp_ecn ]
then
echo 0 > /proc/sys/net/ipv4/tcp_ecn
fi
/sbin/iptables -F
/sbin/iptables -F -t nat
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#/sbin/iptables -A INPUT -i eth0 -p tcp -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -i eth0 -p udp -j REJECT --reject-with icmp-port-unreachable
#sshd
/sbin/iptables -A INPUT -s 218.80.198.234 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -s 218.80.198.250 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -s 210.22.188.21 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#ftp server
#/sbin/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
#game server
/sbin/iptables -A INPUT -s 218.80.198.234 -p tcp -m state --state NEW -m tcp --dport 6020 -j ACCEPT
#db server
/sbin/iptables -t nat -A PREROUTING -s 218.80.198.234 -d 203.110.165.30 -p tcp --dport 3306 -j DNAT --to 192.168.102.158
/sbin/iptables -t nat -A PREROUTING -s 218.80.198.234 -d 203.110.165.30 -p tcp --dport 3307 -j DNAT --to 192.168.102.159:3306
/sbin/iptables -P INPUT DROP
/sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.102.0/24 -j MASQUERADE
此防火墙只允许公司的电脑可以登录游戏。
2、设置系统自动启动防火墙
vi /etc/rc.d/rc.local
增加一行
/etc/rc.d/forward
保存后退出
3、设置文件打开数
1) 修改/etc/security/limits.conf 增加2行:
* soft nofile 4096
* hard nofile 65535
2) 修改/etc/pam.d/login 增加1行
session required pam_limits.so
可用:
echo “* soft nofile 4096” >>/etc/security/limits.conf
echo “* hard nofile 65535” >>/etc/security/limits.conf
echo “session required pam_limits.so” >>/etc/pam.d/login
4、修改默认语言
vi /etc/sysconfig/i18n 修改
LANG="zh_CN.GB2312"
7、 新建游戏运行用户ztgame,设置密码
useradd ztgame
passwd ztgame
8、 用ztgame用户登录服务器,修改vi /home/ztgame/.bash_profile增加一行
ulimit –c unlimited
保存后退出。
四、游戏环境的搭建(按照4台网关服务器,5台场景服务器,1台数据库服务器的构架)
1、服务器IP设置
4台网关服务器配置外网ip和内网ip,5台场景服务器和数据库服务器只配置内网ip,并且服务器默认网关为第一台网关服务器的内网ip。
服务器以服务器应用-序号-机房序号命名(例GWServer01-CHJ01)。
修改/etc/hosts。
例子:
127.0.0.1 GWServer01-CHJ01 localhost.localdomain localhost
192.168.100.101 GWServer02-CHJ01
………
192.168.100.104 ScenServer01-CHJ01
………
192.168.100.109 DBServer-CHJ01
2、公钥的生成
在ztgame的用户下登陆第一台网关服务器,输入ssh-keygen -t dsa
接受 ~/.ssh/id_dsa 的默认位置。输入一个与你的帐号口令不同的口令句,再输入一次来确认。公钥被写入 ~/.ssh/id_dsa.pub。密钥被写入 ~/.ssh/id_dsa。
使用以下命令改变你的 .ssh 目录的许可权限:
chmod 755 ~/.ssh
把 ~/.ssh/id_dsa.pub用scp命令传到其它剩余9台服务器
scp~/.ssh/id_dsa.pub [email protected]:~/.ssh/authorized_keys
在其它9台服务器下使用以下命令改变你的 authorized_keys 文件的许可权限:
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
3、数据库服务器的安装
#首先确定你是root用户
#确定你有以下包
perl-DBD-MySQL-2.9004-3.1
perl-DBI-1.40-5
mysql-4.1.7-4.RHEL4.1
获得mysql-4.1.*.tar包,用tar –zxvf mysql-4.1.*tar解开压缩包,然后进入mysql-4.1.*目录
#根据体统类型选择编译方式
#i386体系结构的
CFLAGS="-O3 -mcpu=pentiumpro" CXX=gcc CXXFLAGS="-O3 -mcpu=pentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --with-raid --enable-thread-safe-client --enable-assembler --with-server-suffix =" for >>>MySQL Database of Zebra by Yhc<<<" --without-debug --with-extra-charsets=none --without-isam --disable-shared --with-mysqld-ldflags=-all-static --prefix=/usr/local/mysql --without-bench
#64位系统,x86_64
CFLAGS="-O3 -m64" CXX=gcc CXXFLAGS="-O3 -m64 -felide-constructors -fno-exceptions -fno-rtti" ./configure --with-raid --enable-thread-safe-client --enable-assembler --with-server-suffix =" for >>>MySQL Database of Zebra by Yhc<<<" --without-debug --with-extra-charsets=none --without-isam --disable-shared --with-mysqld-ldflags=-all-static --prefix=/usr/local/mysql --without-bench
#然后根据CPU数量进行编译
make -j 2 && make install
#添加用户
groupadd mysql && useradd -g mysql mysql
#创建目录
mkdir /usr/local/mysql/data && mkdir /usr/local/mysql/run && mkdir /usr/local/mysql/log && mkdir /usr/local/mysql/var
#更改mysql目录所有者
chgrp mysql -R /usr/local/mysql && chown mysql -R /usr/local/mysql
#增加打开文件数量
ulimit -n 4096
#添加PATH
echo "PATH=\"/usr/local/mysql/bin:\$PATH\"" >> /etc/profile && export PATH="/usr/local/mysql/binPATH"
#strip可执行文件
strip /usr/local/mysql/libexec/mysqld
#添加LIB PATH
echo "/usr/local/mysql/lib" >> /etc/ld.so.conf && ldconfig
#将my.cnf文件cp到/etc目录下
cp support-files/my-huge.cnf /etc/my.cnf
#修改my.cnf
datadir=/db/mysql
#创建数据库存放路径
mkdir /db
chown mysql.mysql /db -R
#初始化Mysql表
su - mysql -c "mysql_install_db"
#启动服务器 www.5uw l.net
su - mysql -c "mysqld_safe --skip-name-resolve --open-files-limit=4096&"
#创建数据库和用户
GRANT ALL PRIVILEGES ON *.* TO [email protected].% IDENTIFIED BY WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO ztgame@localhost IDENTIFIED BY WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY WITH GRANT OPTION;
4、数据库配置
用mysql进入,然后用create database dbname创建数据库。分别创建SuperServer、RecordServer、Bill数据库,然后用安装包目录下的*.sql的文件建立相应的表。(SessionServer.sql也导入到RecordServer库中)。
在SuperServer数据库SERVERLIST表内添加服务器配置信息。
例子:
INSERT INTO `SERVERLIST` VALUES (1,1,SuperServer,192.168.104.109,10000,192.168.104.109,10000);
INSERT INTO `SERVERLIST` VALUES(20,20,SessionServer,192.168.104.109,6000,192.168.104.109,6000);
INSERT INTO `SERVERLIST` VALUES(21,21,SceneServer,192.168.104.104,6010,192.168.104.104,6010);
INSERT INTO `SERVERLIST` VALUES(22,21,SceneServer,192.168.104.105,6011,192.168.104.105,6011);
INSERT INTO `SERVERLIST` VALUES(23,21,SceneServer,192.168.104.106,6012,192.168.104.106,6012);
INSERT INTO `SERVERLIST` VALUES(24,21,SceneServer,192.168.104.107,6013,192.168.104.107,6013);
INSERT INTO `SERVERLIST` VALUES(25,21,SceneServer,192.168.104.108,6014,192.168.104.108,6014);
INSERT INTO `SERVERLIST` VALUES(2200,22,GatewayServer,192.168.104.100,6020,210.51.23.132,6020);
INSERT INTO `SERVERLIST` VALUES(2201,22,GatewayServer,192.168.104.101,6020,210.51.23.133,6020);
INSERT INTO `SERVERLIST` VALUES(2202,22,GatewayServer,192.168.104.102,6020,210.51.23.134,6020);
INSERT INTO `SERVERLIST` VALUES(2203,22,GatewayServer,192.168.104.103,6020,210.51.23.135,6020);
INSERT INTO `SERVERLIST` VALUES(11,11,RecordServer,192.168.104.109,7010,192.168.104.109,7010);
INSERT INTO `SERVERLIST` VALUES(12,12,BillServer,192.168.104.109,7020,192.168.104.109,7020);
在RecordServer数据库上初始化某些表格,目前有ANSWER,TECH,COUNTRY,NPCDARE,ACCPRIV。
数据库服务器上跑SuperServer、SessionServer、RecordServer、BillServer四个服务,4个网关服务器分别跑4个网关服务,5个场景服务器分别跑5个场景服务。场景服务器对应的ID就是国家配置的ID号,这个ID号决定场景服务器上面跑几个国家。
五、服务端的配置和安装
1、获得安装包:
release-version.tar.bz2
map-version.tar.bz2
在/home/ztgame下建立以时间为名字的目录(game20050928),压缩包放入此目录,然后用tar –jxvf release-version.tar.bz2 和tar –jxvf map-version.tar.bz2解开压缩包
进入release目录,cp –rf ../map .
按照config.xml.example格式创建文件config.xml
配置文件主要定义了服务器的各种参数:
[global]这段主要定义了通用参数,如服务器本地网络设备名称,扩展网络设备名称,日志级别,SuperServer的服务器地址,端口等参数。
其他各个段定义了具体的服务参数,主要是指定该服务对应的数据库,数据库的连接地址,端口,用户名,密码等数据库连接字符串。每个服务可以定义日志文件的存放位置,如果没有指定,缺省放置在/tmp/目录下面。
如SuperServer服务
<SuperServer>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<mysql>mysql://test:[email protected]:3306/SuperServer</mysql>
<logfilename>/home/test/tmp/superserver.log</logfilename>
</SuperServer>
上面配置指明SuperServer服务,采用连接串用户名test,密码123456,访问192.168.2.14服务器上3306端口下SuperServer数据库,日志文件存放在/home/test目录下。其他服务配置类似。
例子:
<?xml version="1.0" encoding="GB2312"?>
<!--所有各种服务器参数-->
<Zebra>
<global>
<!-- Specify the log level[debug,info,warning,error,fatal,always]. -->
<log>debug</log>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<!-- Use the specified local network device. -->
<ifname>eth0</ifname>
<!-- Connected to the specified supserserver, property port default value is 10000. -->
<superserver port="10000">192.168.104.109</superserver>
</global>
<SuperServer>
<!-- 统一用户平台登陆服务器列表文件 -->
<loginServerListFile>loginServerList.xml</loginServerListFile>
<!-- 角色名称唯一性验证服务器的地址 -->
<RoleregServer port="9901">218.80.198.252</RoleregServer>
<!-- 服务器信息采集的服务器地址 -->
<InfoServer port="9903">218.80.198.252</InfoServer>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<mysql>mysql://ztgame:[email protected]:3306/SuperServer</mysql>
<!-- 如果要编码mysql连接字符串请使用工具,配置如下面的例子
<mysql encode="yes">lmOf.</mysql>
-->
<logfilename>/log/superserver.log</logfilename>
</SuperServer>
<RecordServer>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<mysql>mysql://ztgame:[email protected]:3306/RecordServer</mysql>
<logfilename>/log/recordserver.log</logfilename>
</RecordServer>
<BillServer>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<mysql>mysql://ztgame:[email protected]:3306/Bill</mysql>
<logfilename>/log/billserver.log</logfilename>
</BillServer>
<BillClient>
<!-- 交易记录log文件路径 -->
<tradelogfilename>/log/clienttrade.log</tradelogfilename>
</BillClient>
<SessionServer>
<!--MySQL database connection[mysql://user:passwd@host:port/dbName]-->
<mysql>mysql://ztgame:[email protected]:3306/RecordServer</mysql>
<logfilename>/log/sessionserver.log</logfilename>
<dare_active_time>3600</dare_active_time>
<offlineMsgPath>/log/offlineMessages</offlineMsgPath>
</SessionServer>
<ScenesServer>
<sceneinfofile>scenesinfo.xml</sceneinfofile>
<npctradefile>npctrade.xml</npctradefile>
<messageSystemFile>messageSystem.xml</messageSystemFile>
<charinitinfoFile>initcharinfo.xml</charinitinfoFile>
<magicrangeFile>magicrangefile.xml</magicrangeFile>
<questdir>quest/</questdir>
<mapdir>map/</mapdir>
<tbldir>map/</tbldir>
<gm_logfile>/log/gm_log.log</gm_logfile>
<!--回写档案平率(单位是秒) -->
<writebacktimer>300</writebacktimer>
<ossdir>/log/</ossdir>
<logfilename>/log/scenesserver.log</logfilename>
</ScenesServer>
<GatewayServer>
<!-- 国家排序方式 0:不排序 , 1:在线人数排序 , 2:注册人数排序 -->
<countryorder>2</countryorder>
<logfilename>/log/gatewayserver.log</logfilename>
<sceneinfofile>scenesinfo.xml</sceneinfofile>
<rolereg_verify>1</rolereg_verify>
<forbidWordsFile>forbidWords</forbidWordsFile>
</GatewayServer>
</Zebra>
注意存放日至的目录是否建立,以及建立session服务所要求的日志存放子目录offlineMessages。
修改loginServerList.xml,填入平台中心的FLServer服务器ip以及端口。
例子:
<?xml version="1.0" encoding="GB2312"?>
<LoginServerList>
<server ip="218.80.198.252" port="7001"/>
<server ip="210.22.188.20" port="7001"/>
</LoginServerList>
然后将修改好的版本传至其它9台服务器。并启动服务
六、服务器的启动,停止和更新
1、将运行脚本传至各个服务器。
2、开启游戏服务
通过ssh使用ztgame用户远程连接至第一台网关服务器,再通过网关服务器连接其他9台服务器,
10个窗口内分别进入最新的服务端存放目录/home/ztgame/game200508**/release/
数据库服务器 启动服务./SuperServer -d 和 ./SessionServer -d 和 ./RecordServer -d 和 ./BillServer -d
场景服务器 启动服务./ScenesServer -d
网关服务器 启动服务./GatewayServer -d
以上操作可以通过/home/ztgame/tools/allstart game200508**来启动(由于程序是后台运行,所以如发现程序运行时间过长,可以CTRL+c中断,并不影响程序的正常运行。)
3、停止游戏服务
通过ssh使用ztgame用户远程连接至第一台网关服务器,运行/home/ztgame/tools/allstop,中止所有服务
,此脚本是并不是强行杀进程,所以如果发现进程无法kill的情况,用/home/ztgame/tools/allstop_9来强行杀死进程。
4、查看游戏服务
通过ssh使用ztgame用户远程连接至第一台网关服务器,运行/home/ztgame/tools/allview,查看所有服务运行状态。
5、更新游戏服务
通过ssh使用ztgame用户远程连接至第一台网关服务器,再通过服务器连接其他9台服务器,
分别在/home/ztgame目录下面建立最新的服务端存放目录game200508**.
然后将服务器端安装包通过scp传到第一台网关服务器,在game200508**下解压。
tar jxvf zebra-release-*****
tar jxvf zebra-release-*****
cp map release/ -rf
然后从上一个版本里拷贝出一些配置文件覆盖源文件
cp /home/ztgame/game_old/release/config.xml /home/ztgame/game_new/release/
cp /home/ztgame/game_old/release/loginServerList.xml /home/ztgame/game_new/release/
cp /home/ztgame/game_old/release/messageSystem.xml /home/ztgame/game_new/release/
以上工作准备好后就可以将网关服务器上的版本传到其他服务器
scp -r /home/ztgame/game_new/* gamebak@ztgame 218.80.198.234 / /root/back/`hostname`-RecordServer`date +%Y%m%d`.tar.gz
sleep 20
echo "upload RecordServer ok!"
2)、数据库即时备份
每隔1小时,将RecordServer数据库拷贝至/root/back/hour目录进行备份,然后将压缩文件传给特定服务器。
例子:
#!/bin/bash
hottime=`date +%Y%m%d%H%M`
mkdir /root/back/hour/RecordServer"$hottime"
/usr/local/mysql/bin/mysqlhot RecordServer /root/back/hour/RecordServer"$hottime" -u ztgame -p yS29wahvCH
sleep 5
cd /root/back/hour
tar zcf `hostname`-RecordServer"$hottime".tar.gz RecordServer"$hottime"
sleep 5
echo "tar ok!"
/usr/local/bin/ncftpput -u backupdb -p backupdb 192.168.102.119 / /root/back/hour/`hostname`-RecordServer"$hottime".tar.gz
sleep 20
echo "upload RecordServer ok!"
rm `hostname`-RecordServer"$hottime".tar.gz -f
3)、日志备份
每天02:00,将/log/下前一天的日志,进行压缩,然后上传至192.168.1.9服务器。
运行脚本/root/scripts//upload_daily
例子:
#!/bin/bash
cd /log/
mkdir log`date --date 1 days ago +%Y%m%d`
mv *.log.`date --date 1 days ago +%y%m%d`-* log`date --date 1 days ago +%Y%m%d`
sleep 10
tar zcvf `hostname`-log`date --date 1 days ago +%Y%m%d`.tar.gz log`date --date 1 days ago +%Y%m%d`
/usr/local/bin/ncftpput -u log -p log@ztgame 218.80.198.234 / /log/`hostname`-log`date --date 1 days ago +%Y%m%d`.tar.gz
rm `hostname`-log`date --date 1 days ago +%Y%m%d`.tar.gz
注:计划任务通过/etc/crontab –e来进行设置
4)、即时日志备份
直接运行/home/ztgame/tools/upload 将最新日志上传至192.168.1.9服务器,方便研发部门查看。
运行脚本/home/ztgame/tools/upload,(如果所有服务器的日志都需要上传,可以运行网关服务器上的/home/ztgame/tools/allupload)
『伍』 完美国际单机架设 问题解决100分献上
1、先安装WinPcap。
2、解压FF_PW_colinux到任意目录(不要放在“中文”文件夹下),并且安装那3个证书。
3、打开pw_ff_server.conf,修改内存mem=自己内存的一半。并把pw_ff_server.conf里面的 eth0=slirp,,tcp:29000:29000/tcp:80:80/tcp:443:443/tcp:22:22/tcp:8080:8080/tcp:1433:1433修改成eth0=slirp,,tcp:29000:29000/tcp:80:80/tcp:443:443/tcp:22:22/tcp:8080:8080/tcp:3306:3306
4、双击fff.bat,启动服务器。出现Login后,输入root-回车-root-回车(第2个root是密码,没显示的)。
5、./mysql→./web 启动帐号注册网页http://127.0.0.1/注册账号。
6、./mysql→./go启动后台 ,打开网页https://127.0.0.1/iweb/role/进入后台管理。然后在高级管理中按顺序启动: 1启动mysql;2快速启动服务端; 3快速启动副本。
7、客户端打好配套补丁后。在《完美世界》国际版\element\userdata\server下有serverlist.txt文件用记事本打开后修改里面的“完美测试1 ” 的IP为127.0.0.1即可。
8、启动客户端进入游戏。
9、以后再进游戏,只需:双击fff.bat→root-回车-root-回车→*./mysql|→./a 或 ./b (./a是指不开副本,./b指开59以上的副本)→启动客户端进入游戏。
(打./stop关闭服务端,打reboot重启服务器,打halt关闭服务器)
可能你的版本和我的不一样 反正基本程序就是这样 没办法了 你再看看
『陆』 区块链,4种类型,知多少
——你好,我是心态,专注分享对区块链的认知与投资思考。希望能帮到你。
区块链根据不同的使用需求和场景,区块链分为:公有链、联盟链、私有链和混合链4种类型。
1.公有链
公有链,是指全世界任何节点的任何人,在任何地理位置,都可以进入系统读取数据、发送交易、竞争记账等参与共识的区块链。没有任何机构或个人可以篡改其中的数据,因此公有链是完全去中心化的。
比特币和以太坊都是公有链的代表。公有链一般通过发行代币(Token)来鼓励参与者竞争记账(即挖矿),以确保数据的安全性和共识更新。
比特币平均每10分钟产生1个区块,且其POW机制很难缩短区块时间,POS机制相对而言可缩短区块时间,但更易产生分叉。所以交易需要等待更多确认才被认为安全。
一般认为,比特币中的区块经过6个确认后才是足够安全的,这大概需要1个小时。这样的确认速度难以满足商业级的应用。因此,ETH及EOS等支持更多写入速度的公有链正在不断发展。
2.联盟链
联盟链是指有若干机构共同参与和管理的区块链,每个机构都运行N个节点。
联盟链的数据只允许系统内不同的机构进行读写和交易,通过数字证书的方式实现基于PKI的身份管理体系交易或提案的发起,以参与方共同签名验证来达成共识,因此不需要工作量证明(POW),也不存在数字货币(代币),提高了交易达成的效率,节约了大量计算成本(算力硬件投入和电力能源消耗)。
通常情况下,参与联盟链的节点会被划分不同的读写权限,能支持每秒1000次以上的数据写入。
3.私有链
私有链与公有链完全去中心化不同,私有链的进入权限由某个组织进行控制,各个节点参与资格由该组织授权控制。
由于参与的各个节点是有限且可控的,私有链往往拥有很快的处理速度,能支持每秒1000以上的数据写入,同时降低内部各个节点的交易成本。
节点可以实名参与,因此具有确认身份的金融属性。私有链的价值主要是提供安全、可追溯、不可篡改、自动执行的运算平台,可以同时防范来自内部和外部对数据的安全攻击或篡改,这在传统的系统中是很难做到的。
私有链的应用场景一般在企业内部,如分公司的库存管理,各地数据的汇总统计等,也可以用在政府的预算和执行等可以被公众监督的领域。大型金融集团目前也倾向于使用私有链技术。
4. 混合链
当公有链和私有链的各自优势相结合时,就会出现混合链。混合链的开发难度大,但前景广阔。
未来市场上,一定会出现巨头型的底层技术和协议开发的公司,这些巨头公司会架设出不同用途的公有链、私有链或者联盟链,基于对性能和安全性及应用场景的不同需求,然后嫁接不同行业的应用。比如一条支持高并发的通信类公有链,一条侧重安全性的支付联盟链,等等。
(感谢阅读)
点个赞,点个关注,就是对我最大的支持,咱们明天见。
『柒』 求大大们解答 关于架设完美国际单机版的问题
这个问题很高深
『捌』 linux双网服务器架设教程(高分求)
LINUX下双网双线服务器的架设全过程
目的: 现在很多中小型网络有两条或者多条相同的不同的ISP的网络出口线路
而如何将这两条线路合理的利用起来 是很多人非常关心的
西安秀网吧资讯会为大家提供更多更好的学习资料和知
此文用通俗易懂的方法的讲解了如何初步达到此目的 本方案不需要大量的投资
也不需要改变现有网络结构 并且可扩展性好! 环境:用基于LINUX路由功能 由2.2内核开始,
Linux便开始支持高级路由技术,提供策略路由,流量控制等多项高级路由功能,
配合Netfilter包过滤软件,可实现许多专业路由器和防火墙才能实现的高级功能
本方案采用RedHat 9.0 系统基础 系统自带 IPTABLES 和 IPROUTER2 软件,
申明:本方案为了表达一个通俗易懂的称述 很多地方采用大白话方式进行说明,
这对技术来说是不严谨的态度,并且在文中可能出现很多错误,欢迎指正
希望有更多人能使用此方案而达到自己的目的 可以用在论坛上联系,
写的很乱还请大家见谅!
约定:对于具体#作,都是基于Shell下的,就是所谓终端,控制台
我将用横线阁开,可以看成实际的#作,后面的针对解释 均采用汉字通俗解
但不能作为实际#作!
一、 硬件选择和实施:
1。本人在实际#作中选择了 C3 1G CPU INTEL 815ET芯片组主板(集成显卡) 128M SDRAM 三张网卡 均是RTL 8139 10/100M 自适应网卡 3G大小心的一块老硬盘 RedHat 9.0系统盘 光驱 键盘 鼠标 显示器|
为安装使用 过后拆掉,在各个实际环境里 选择方案不一定要相同 ,但是本人建议 CPU 不低于233M 内存不低于64M 网卡尽量不用8029等10M 设备,如果有条件可以选择不同的主流网卡 其他 主是要求稳定
2。安装系统 根据硬盘大小以及个人情况 可任意方式安装 提示以及建议:
A : 如果分区不是很清楚 可以用 光盘上的PQ 将硬盘分区 第一次接触的,采用 将6G以下的空间分成EXT3格式的分区 然后接着一256M左右的SWP交换分区
B。 网卡先别一次性装上, 可先将要用于内网的网卡,先插上,以后系统安装成功以后再依次插上其他网卡 以免混淆!在安装的时候 可以完全默认的方式 并且 尽量采用 英文安装 ,不装XWINDOWS 也就是可以一路 NEXT下去!!!
3。建立用户 除了系统自带的 root 超级管理员帐户以外 请建立1-2个普通用户! 更具体的安装#作 请搜寻网络上其他的文章!或者联系我,有非常详细的称述!
二、 单机的配置 这一步很重要 包括设置好网卡 如果是ADSL的PPOE的拨号方式 还必须设置ADSL上网 并且弄清楚 在硬件上的每一块网卡和系统里面的网卡的对应关系!
参考模型 eth0———接内网 RD9.0 LINUX eth1———接外网线路 1 eth2———接外网线路
2 注意 : 在LINUX中表示的以态网卡的方式是ethX X代表的是第几个设备,对于排序 请根据系统的自设定 然后人为找到对应的网卡,可以采用每张网卡接一条线进行 Ping 的方式确定!
在下面这种情况下 将 eth0 (内网)设置为 IP: 192.168.0.1 Netmask:255.255.255.0 Gateway网关:无 eth1 (线路一) 假如 IP : 218.6.2.211 Netmask:255.255.255.0 Gateway网关:218.6.2.1 eth2(线路二)假如 IP :10.0.0.2 Netmask:255.255.255.0 Gateway: 10.0.0.1 实际#作方式: ———————————————————– ifconfig eth0 192.168.0.1 netmask 255.255.255.0 ifconfig eth1 218.6.2.1 netmask 255.255.255.0 ifconfig eth2 10.0.0.1 netmask 255.255.255.0 ———————————————————– 格式为: ifconfig 设备名 IP地址 netmask 子网掩码 直接输入 ifconfig 不带任何参数的话 系统将显示当前网络接口信息
至于更详细的#作方法请参考其他资料! 这样 就初步设置好了
各个网络接口的 IP地址等! 但是 这样的设置 可能在重起系统以后就会失效
那么最直接的方法是 修改 文件!
(在LINUX下 很多地方可以直接修改文件的方式实现,特别是没有X的时候,显得特别重要,也最有效!
—— vi /etc/sysconfig/network-scripts/ifcfg-eth0
进入VIM编辑界面 按 “i” 进入编辑模式 大致修改为以下内容
请注意 当一块网卡被系统正常检测 只需要改变“=”后面的内容: DEVICE = eth0 ———》设备名,
一般系统自动赋予 ONBOOT = yes ———》是否开机激活 默认 “yes”
BROADCAST =192.168.0.255 ———》
广播地址 NETWORK = 192.168.0.0 ———》
网络地址 NETMASK = 255.255.255.0 ———》
子网掩码 IPADDR = 192.168.0.1 ———》
IP地址 提示 BROADCAST =192.168.0.255
和NETWORK = 192.168.0.0 可以根据IP地址来
当掩码是 24位 (255.255.255.0) 时 BROADCAST是IP地址最后一位变255 NETWORK是 IP地址最后一位变0
修改成功以后 按 “ESC”键 然后 Shift+; 号键,出现“:”提示符 在 “:”提示符下面 输入 “w” 并回车 就将设置保存了,然后输入 “q”退出编辑界面
注意:如果你的eth0也是 用于内网
那么请将 GATEWAAY= 项删除 其他两张网卡,则必须要!!!
如果你装了X 那么可以在图形界面下,才用更合适的工具软件进行修改! ————————————————– vim /etc/sysconfig/network-scripts/ifcfg-eth1 ————————————————- 上面命令进入设置 eth1 ———————————————— vim /etc/sysconfig/network-scripts/ifcfg-eth2 —————————–
上面命令进入设置 eth2 设置 DNS 一般情况下
如果当系统检测到网卡并且要求你设置的时候 你就可以将DNS 加入 但是如果你想修改的话,最直接的方法为编辑DNS文件 ——————————
vim /etc/resolv.conf ——————————— 加入DNS IP地址 格式为 nameserver 202.98.96.68 nameserver 61.139.2.69 等
具体DNS IP即可 当以上设置都正常进行以后
重起系统, 检测设置 ——————————————– ping 192.168.0.1 ping 10.0.0.2 ping 218.6.2.211 ——————————————
检测正确性 (用Ctrl+C结束) 然后 ,将外网卡正确接入网络 至少你确定能上网!
不管他是用的哪条线路!!!!!!!! 如果一切正常 那么就表示系统的配置基本正确。
三、多路复用 接下来, 我们 就可以用系统本身的功能以及软件进行路由规则设置
前面已经提到 2.2以上内核已经带有很多的高级功能
而RedHat 9.0采用采用的是2.4.20的内核版本 是公认的比较稳定的,
当然 你可以选择重新编译升级内核的方式 升级到2.6.X 版本的内核,体验更新的功能,
但是这不是本文所要考虑的内容。
在我们将多路复用之前 最好是先打上两个补丁 A 因为路由缓存的机制,
所以在某一时间断 连接到某一点上的线路是不变的,而必须等到失效才能重新选择,(
对于RedHat9.0的系统内核 需要打这之PATH
下载地址为: http://www.ssi.bg/~ja/patch-2.4.20-ja1.diff 这之PATCH 解决了在系统内核中equailze参数不生效的问题 http://www.teatime.com.tw/~tommy/linux/equalize.patch 将这两个PATCH 下载到本地 比如 直接放在 /root目录下那么这样做,
将PATCH补进内核: ——————————————————– /usr/src/linux-2.4.20-8/patch -p1 ——————————————————— ————————————————- /usr/src/linux-2.4.20-8/patch -p1 ————————————————– 执行完以后 我们就基本上需要的软件都准备齐全了
路由规则: 首先 我们使用 ip route show 命令来显示当前默然的路由规则: ———————————————— ip route show ————————————————- 可以看见 如: 0 lookup local 32766 main 32767 default 这是原有系统的路由规则!
那么 现在 我们使用自己的规则替代或者说将自己的规则的优先级提高于原有规则,
接着 我们创建路由表, 注意 创建的路由表的根据是上面的网络接口 ,
所以请根据我上列举的具体设置来理解 新建命名为 10 和 20的规则
分别针对两个外网线路 规则“10” ———————————————————- ip rule add pref 10 from 218.6.2.211 table 10 ———————————————————- 规则“20” ———————————————————- ip rule add pref 20 from 10.0.0.2 table 20 ———————————————————- 设置main表 ——————————————————— ip route add 218.6.2.0 dev eth1 src 218.6.2.211 ip route add 10.0.0.0 dev eth2 src 10.0.0.2 ———————————————————设置完成
上面的只需要根据不同的IP地址以及对应的硬件设备 修改其部分内容即可 题外: 在LINUX路由表中可以使用0-255来代表不同的规则 而且每个规则都可以用别名来表示,
如果大家对此感兴趣 可以查看修改一个文件里面的内容来达到目的: 原文件给出了几个例子包括 lookup、 main、 default
需要自己添加的 按照这样的格式修改: 在空行处插入 : 规则号 规则名称 10 OUT1 保存即可 路由选择的优先级,是数值越小 代表权越大,所以一个路由选择将先查看 0 规则,既 环路 然后查看下一个规则
在本例子中,当一个数据在路由选择的时候,过了0规则 然后就是 10 规则 接着 20 规则 一直往下!直到匹配为止 通过以上设置, 我们就可以控制住通过某一条线路(ISP)的数据包的返回信息也从原线路返回。这将对运行在路由上的所有的进程起作用!!!并且实现了最基本的流量分割,很简单吧! 然后 就是做负载均衡了!可以将不同的请求根据自定设置发往不同的线路!
我们已经安装好了补丁 并且设置好的各种规则, 对于负载均衡,
可以使用这条语句来实现: ————————————————————————————————- ip route replace default \nexthop via 218.6.2.1 dev eth1 weight via 10.0.0.1 dev eth2 weight 1 ————————————————————————————————- 50
这样 我们就改变了缺省的路由为多路路由!!!!并且我们可以通过改变 weight 参数的值来指定 一条线路的优先权大于 另有条线路 这在两条线路质量不相同的时候是种不错的选择 -.M 5sUvsc
如: —————ip route replace default \nexthop via 218.6.2.1 dev eth1 weight \ via 10.0.0.1 dev eth2 weight —————————————————————-
注意:特别 应该指出的是,因为上面的均衡是根据路由进行的,而路由是根据CACHE选择的,所以这样的均衡不是100%的准确,在实际使用中 最多能达的70%的效率,对于经常访问的某一远程站点,会一直使用同一条线路
求通过不同的线路发送,已经快于原先单条线路了。同时,就现阶段而言,没有ISP的配合 是不可能达到100%的精确的!!!! 现在 负载均衡已经基本设置完成了, 你就可以将外网两条线路接上对应的网卡,特别注意 必须是对应的网卡!
仍然用 ping 命令来检测 两条线路是否能在同时 ping 通! ping 线路1ISP出口网关 ping 线路2ISP出口网关 这是一种很好的方法, 各线路的从内网出去以后最先经过的是ISP的网关,并且在正常情况下都是允许 ping 探测的!!
如果都能同, 那么 你已经正确的完成设置了!!!! 你的这台单机已经可以使用两条线路同时上网了,系统在你进行网络连接的时候,根据每条线路的轻重区别 来为你将连接请求合理的分发到两条线路上!! 四、带动内网机器上网 IP伪装(NAT)、端口转发 配置好单机的多重路由功能以后,如何让他冲当内网的网络出口服务器,带动其他机器上网呢,
这将是此节的重点,并且,这部分内容单独来将,已经是将一个LINUX#作系统配置成路由器的具体步骤了! 首先,我们应该确定系统已经安装了IPTABLES 在大多数基于2.2内核的LINUX#作系统中,已经默认安装了次软件!
通过下面的命令就可以实现 IP伪装
注: 里面几个具体数据将安装本实例问准,我会在后面提到!
A、定义IPTABLES位置(不是必须): ———————————– IPTABLES=”/usr/##in/iptables” —————————–
B、清除原有防火墙规则设置: ———————————– IPTABLES -P INPUT ACCEPT IPTABLES -P FORWARD ACCEPT IPTABLES -P OUTPUT ACCEPT ——————————-
C、清除NAT规则设置 ————————————— IPTABLES -t nat -P PREROUTING ACCEPT IPTABLES -t nat -P POSTROUTING ACCEPT IPTABLES -t nat -P OUTPUT ACCEPT IPTABLES -t mangle -P PREROUTING ACCEPT IPTABLES -t mangle -P OUTPUT ACCEPT——————————-
D、清除在防火墙和NAT中不是默认的连接 ————————————- IPTABLES -F IPTABLES -t nat -F IPTABLES -t mangle -F IPTABLES -X IPTABLES -t nat -X IPTABLES -t mangle -X ————————————
E、载入模块 (必须): ———————————— /##in/depmod -a /##in/modprobe ip_tables /##in/modprobe ip_conntrack /##in/modprobe iptable_filter /##in/modprobe iptable_nat /##in/modprobe ipt_limit /##in/modprobe ipt_state /##in/modprobe ip_conntrack_ftp ————————————-+
F、打开转发功能(必须) ——————————————– echo”1〃 /proc/sys/net/ipv4/ip_forward ——————————————–
G、设置转发规则: ———————————————————————– iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth2 -s 192.168.0.0/24 -j MASQUERADE ———————————————————————– A B C D为可选
但是请注意 如果你的IPTABLES不在 /usr/##in/ 这个目录 那么 你最好是选择这几项
并且 该成自己所在的目录 如果你选择了使用B C D 那么 你必须 选择A 就是必须给“IPTABLES” 这个常量赋值,
因为在 LINUX 默认中 全部大写的 IPTABLES 不是一个合法的iptables 命令 当然,如果你的系统已经定义了 iptables 的路径
那么, 将上面的 IPTABLES 换成小写的 iptables 也行! E F G则是必须要的, 当上面的规则成功设置以后, 将你的内网网卡连上交换机 等,修改其他机器的IP地址为 192.168.0.X 掩码为 255.255.255.0 (X为2-254之间) 生效后,就能通过你刚才打造的LINUX路由器上网了!!!
但是这些设备在重起后就会失效,如何解决了
将这些命令写入脚本 让他开机启动 即可达到保存的效果!具体
将各命令写入一文本文件, 并形象的取名 比如,将IPTABLES设置 保存到当前工作目录里面的一个文件 并取名为 nat —————- vi nat —————- #复制内容 IPTABLES=”/usr/##in/iptables” IPTABLES -P INPUT ACCEPT IPTABLES -P FORWARD ACCEPT IPTABLES -P OUTPUT ACCEPT IPTABLES -t nat -P PREROUTING ACCEPT IPTABLES -t nat -P POSTROUTING ACCEPT IPTABLES -t nat -P OUTPUT ACCEPT IPTABLES -t mangle -P PREROUTING ACCEPT IPTABLES -t mangle -P OUTPUT ACCEPTIPTABLES -F IPTABLES -t nat -F IPTABLES -t mangle -F IPTABLES -X IPTABLES -t nat -X IPTABLES -t mangle -X /##in/depmod -a /##in/modprobe ip_tables /##in/modprobe ip_conntrack /##in/modprobe iptable_filter /##in/modprobe iptable_nat /##in/modprobe ipt_limit /##in/modprobe ipt_state /##in/modprobe ip_conntrack_ftp echo “1〃 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth2 -s 192.168.0.0/24 -j MASQUERADE
存盘退出 存盘退出 重起即可生效 (根本不需要用户登陆执行!)
其他脚本也是一样道理 各位 所有基本的#作到此为止 我想 如果你能看完,
那么你自己就完全能用LINUX 打造一个高级路由 不要犹豫 他的性能 绝对敢和市面上价值几大千的路由器成品媲美~!!!
感谢网络上这方面的网站、论坛介绍的很多知识 使我能够独立实施整个方案 并且详尽的写出来! 感谢LINUX 以及无数的开发人员 是他们 给我们构造了一个强大 自由 的#作系统及软件!
接下来,我将对其他更细微的有关#作方法、心得 写下来,希望对现在采用LINUX 类LINUX系统 、软件做路由的朋友有所帮助,
如:断线救援,如何在一条线路断开以后立刻启用另一条线路负担整个网络任务,并且在线路连同以后,又重新自动启用,如何为此提供最详尽的,有效的,简易的方案 一盘秀的技巧设置 如果面对一盘秀的诸多问题了?
让我们一起来 在一张小小的软盘上反转乾坤 高级路由策略 ,想某一个游戏 只走某一条线? 想限制某些人 或者某些机器的上网需求,我们照样能办到,并且能做得更好!!!!!!!!!
动态路由,电信级路由 如何在一台投资根本不多的LINUX 类LINUX机器上 实现更强大的功能,如 各种高级动态路由 并使其有更好的扩充性 和灵活性!!!为我们在网络接入方面多一个选择!!!多一点放心!!! 。。。。。。。。。。。。。。。。。
我将把这个方案中所用到的脚本 和补丁 打包放在网上, 敬请 指正!!!
我于昨日晚,测试完所有的脚本, 包括在两种不同的双线路下测试, ?
我采用的机器的配置和前一次差不多 P2 433 CPU 128M SDRAM 3.1G 硬盘 三张8139 10/100M 自适应网卡,上100 M FULL 其他外设,在配置的时候用,
采用RedHat 9.0 系统,最小化安装. 网络具体情况, A环境 100台机器, 一条3M ADSL 固定IP 一条 4M 光纤 线路等值使用 将系统配置好,并让内网机器上网, 使用网络蚂蚁,
在机器1上下载天虎网下 载中心(down.tyfo.com)的2000 SP4补丁 5线程, 最高速度 450K/S 最低速度 350K/S 平均值 410K/S 在机器2上同时也开5线程下载 绵阳169 下载中心的 2000 SP4 最高速度为 310K/S 最低速度为280K/S 平均为302/S
由此,可以看出, 基本上完全使用了线路的带宽, 并且,是分到两条线路在 进行数据交换, 而我在LINUX路由上,用tcpmp 查看当前系统网络情况, 可以看 出 每条线上都分发的有连接, 并且一个很有趣的现象出现了,
当我在内网机器上 打开网页的时候,他通过 线路1连接到DNS 解析了域名,而又将连接从 线路2发出! B 环境,40台机器 两条等值的带宽相同的 但是不同ISP 的ADSL线路 均为2M 下行 640K 上行速度! 一为电信 一为网通, 而上次有位朋友提到,
当服务器 是电信的时候内网连接可能卡,慢的情况,, 我针对此做了个测试, 在路由中写入 规则,当远程站点为电信IP段的时候,选择电信线路出口,当远程站点IP为网通IP段 的时候,选择网通线路出口, 这样缓冲了交差连接导致网速慢的情况, 但是,另一 个现象发生了,电信线路上感觉比较拥挤 , 在内网同时进行任意游戏,上网,聊天, 下载文件的时候, ADSL线路的请求等待队列都已经比较长, 毕竟ADSL的上行只有 640K 因为机器不是很多 所以感觉不明显,
最后我做了个更详细的规则 1.只对北方的或者其他物理位置较远的电信IP 段进行必须通过电信线路这 个规则, 2. 对于任意位置的网通IP段必须通过网通线路连接, 过后测试,基本 上两条线路的使用比较均衡, 相对来说,连接到在物理位置上很远的远程站点进行 下载和游戏的不是很多, 因为还有很大一个因素是,远程站点的服务器配置,以及 经过的中间节点的数目及网络性能等,如果你对此还不满意 你可以进行更加细微 的设置 断线救援方面, 很遗憾 在这个环节上,因为ISP的限制,导致此功能在实施 过程中遇见了一点点问题, 因为 我们这里的ISP ,不允许用ICMP探测, 当然,可 以探测到某一条线路的网关, 也就是说,比如一条光纤和一条ADSL 光纤为网关为 218.6.2.1 ADSL网关为61.139.54.1 那么同时ping 这两个IP地址来探测线路情 况,是可行的,, 但是 当某一条线路被停用以后,, 就有可能不能在线路恢复的 时候重新启用 因为,,ISP不运行从光纤线路上去pingADSL网关,当ADSL断掉的时候 ,系统将从路由中删除ADSL连路,只有光纤在使用, 这个时候,不管ADSL是否正常, 都没办法ping 通 ,返回的值永远是”0〃 如果你的地方ISP没有这个限制的话, 就没有这个问题, 并且会执行得很好. 针对这个问题,我会考虑在短时间了去寻 找其他的方法!!! 而对于”网络游戏经常断”这个情况, 在线路及服务器正常的情况下是不可能 出现的, 就算有这种情况出现,问题都不在于内部网络的路由上! 如果你是以下情况 那么 你可以采用我的文件,并简单修改,就能实现起强大 的功能, 有3张物理网卡(两条外线),, 或者2张网卡(一条外线)+一固定ADSL 好了,, 废话就到此为止吧! 每个目录下面都有相应的说明文件 详细说明,该目录下面需要改的文件,不需要改的文件,所需修改的文件的具体 位置 约定 : 任何设置文件里面的参数都有统一性, 请注意 最好是保持变量名 的一致 便于项目的设置和问题的查找 如: OUTIF1 代表外网卡设备1 OUTIF2 代表外网卡设备2 GW1 代表外网线路1(OUTIF1)的网关 GW2 代表外网线路2(OUTIF2)的网关 IP1 代表外网网卡1的IP地址 IP2 代表外网网卡2的IP地址 5288 NETMASK1 代表外网网卡1的掩码 NETMASK2 代表外网网卡2的掩码 你仅仅需要修改 引号 “” 里面的对应内容即可 注意 请保证文件的格式 可用 windows的记事本打开, 但是可能将文件 内容表示成连续的段 中间会用 隔开,请不要删除这个空字符 所有文件更改成功以后, 在当前目录下 执行 命令 sh go 等待一分钟左右 系统将重启,在重启后, 所有的设置将生效
『玖』 我在虚拟机安装了ubuntu,架设了服务器环境,怎样才能让windows的主机访问到
朋友,你好!
127.0.0.1是本机回环地址,只有自己能访问!
一般网络通信都是ip/tcp协议,但是呢,要通信首先咱们得有个网卡(我不是说你电脑里边实实在在的那块,不然你怎么还能上网提问哈),如果宿主机想与虚拟机通信,只需设置一下对应网卡ip地址.不过这个网卡问题有点绕!我就以vmware为例大略说说吧(其他虚拟机也差不多),当然我只能说说思路,具体操作太多也说不清!
虚拟机安装完成后,一般网络适连接里会多出几个虚拟网卡,这几个虚拟网卡分别对应虚拟机的几种网络连接方式(bridge,nat,host-only等等),选定连接方式后,宿主机里边通信的网卡就选定了!然后只要虚拟机里边那块网卡与宿主机的对应虚拟网卡处于同一网段,那么就能通过ip地址相互通信!
『拾』 题目:DHCP服务器架设与测试。
#examples
# 缺省租约时间
default-lease-time 28800;
# 最大租约时间
max-lease-time 43200;
# 子网掩码选项
option subnet-mask 255.255.255.0;
# 广播地址
option broadcast-address 192.168.1.255;
# 路由器地址
option routers 192.168.1.1;
# DNS地址
option domain-name-servers 192.168.1.1;
# 域名
option domain-name "netreslab.org";
# 以上都是全局参数
# 子网声明和掩码
subnet 192.168.1.0 netmask 255.255.255.0 {
# 范围
range 192.168.1.10 192.168.1.100;
# 范围
range 192.168.1.150 192.168.1.200;
}
这段配置文件将允许DHCP服务器分配两段地址范围给DHCP客户,192.168.1.10-100 和192.168.1.150-200
如果DHCP客户在申请租约时不请求一个特定租约失效时间,则以default-lease-time(28800秒)为租约时间,如果有请求一个特定的租约失效时间,则采用max-lease-time(432000秒)
服务器发送下面的参数给DHCP客户机:
子网掩码是255.255.255.0 ,广播地址是192.168.1.255,默认网关是192.168.1.1,DNS是192.168.1.1。
如果要为一台叫做hotdog的机器指定固定的IP地址,可以在dhcpd.conf文件加一条
host hotdog {
# hotdog上网卡的硬件地址
hardware ethernet 08:00:00:4c:58:23;
#固定IP
fixed-address 192.168.1.210;
}
要启动DHCPd, 简单地键入 /usr/sbin/dhcpd 或用ntsysv 把DHCPd服务自动启动,也可以用
/etc/rc.d/init.d/dhcpd start,
这样启动后,DHCPd是启动在eth0 上,如果DHCPd上的服务器还有另外一块网卡eth1, 想在eth1上启动
dhcpd,就键入
#/usr/sbin/dhcpd eth1
一个典型的dhcpd.conf如下
#example
#全局参数
shared-network 共享网络名 {
共享网络特定参数...
subnet 204.254.239.0 netmask 255.255.255.224 {
子网特定参数...
range 204.254.239.10 204.254.239.30;
}
subnet 204.254.239.32 netmask 255.255.255.224 {
子网特定参数...
range 204.254.239.42 204.254.239.62;
}
}
subnet 204.254.239.64 netmask 255.255.255.224 {
子网特定参数...
range 204.254.239.74 204.254.239.94;
}
group {
组特定参数...
host ws1.domain {
特定主机参数...
}
host ws2.domain {
特定主机参数...
}
host ws3.domain {
特定主机参数...
}
}
以上资料来源于http://blog.chinaunix.net/u1/48656/showart_382100.html ,里面有更加完整的资料,希望对你有帮助。
而在windows上测试的话,是根据你所配置的参数进行测试的,我以前是有一份很完整的在linux上配置DHCP的文档,现在找不都了,所以只能在网找到这些资料,基本上就是差不多的了