安装firewall后(LINUX7系统一般情况下默认已安装),防火墙默认配置是只打开SSH端口的,也就是22端口,
如果SSH的端口已更改成别的端口了,请切记一定在启动firewall前先修改对应服务策略中SSH的端口为你的SSH端口,
文件路径:/usr/lib/firewalld/services/ssh.xml 把22改成你的远程端口号,然后再启动firewall防火墙,
如果防火墙已经启动,你再想更改自己的SSH端口号,那么请先把自己要修改SSH端口号,先添加进防火墙放行端口中,否则修改SSH端口后就会导致你的SSH远程登录不上,
另外启动防火墙后如果更改配置文件,请一定运行重新加载配置文件(firewall-cmd –reload)命令,
如果SSH的端口已更改成别的端口了,请切记一定在启动firewall前先修改对应服务策略中SSH的端口为你的SSH端口,
文件路径:/usr/lib/firewalld/services/ssh.xml 把22改成你的远程端口号,然后再启动firewall防火墙,
如果防火墙已经启动,你再想更改自己的SSH端口号,那么请先把自己要修改SSH端口号,先添加进防火墙放行端口中,否则修改SSH端口后就会导致你的SSH远程登录不上,
另外启动防火墙后如果更改配置文件,请一定运行重新加载配置文件(firewall-cmd –reload)命令,
<?php
$cmd = "/usr/local/ffmpeg/bin/ffmpeg -i /data/web/tofflon/ceshi/4.mp4 -c:v libx264 -threads 5 -preset ultrafast -strict -2 -y /data/web/tofflon/ceshi/1625640536.mp4";
exec($cmd." 2>&1", $out, $ret);
if ($ret){
echo "There was a problem!\n";
print_r($out);
}else{
echo "Everything went better than expected!\n";
}
?>
https://blog.51cto.com/zlyang/2052795
https://www.cnblogs.com/Rui6/p/14046241.html
https://blog.csdn.net/diyiday/article/details/85304921
https://www.cnblogs.com/Rui6/p/14046241.html
https://blog.csdn.net/diyiday/article/details/85304921
安装Golang
可以直接使用 yum 这个包管理器安装Golang
yum install golang
下载以太坊源码(Go Ethereum)
首先下载geth源码go-ethereum,这里以 go-ethereum-1.10.3.tar.gz 为例:
https://github.com/ethereum/go-ethereum/archive/refs/tags/v1.10.3.tar.gz
安装以太坊源码(安装Geth)
接下来解压缩源码:
tar -xzf go-ethereum-1.9.7.tar.gz
用下面的命令编译:
cd go-ethereum-1.9.7
make geth
[code]
make geth 也可以用make all 进行替代,make all 还会编译一些其他的程序套件
如果国内用户安装超时,可设置代理,再进行安装。
[code]
go env -w GOPROXY=https://goproxy.cn
编译完成后,此时会在 go-ethereum-1.9.7/build/bin 中生成geth可执行文件。
输入 geth help 命令,会显示geth所有的命令和选项:
cd build/bin
./geth help
配置geth
直接使用geth命令可能出现:
-bash: geth: command not found
解决方法一:可以为其的安装路径建立软连接
ln -s /data/go-ethereum-1.9.7/build/bin/geth /usr/local/bin/geth
解决方法二:也可以为其创建全局配置(对所有系统用户生效,永久生效,推荐)
通过vim 打开编辑器
vim /etc/profile
在最后一行追加以下内容:
export PATH=$PATH:/data/go-ethereum-1.9.7/build/bin/
然后让配置立即生效:
source /etc/profile
用 geth version 测试一下:
geth version
同步的几种方式
Full同步
geth --syncmode "full"
获取区块的header
获取区块的body
从创始块开始校验没一个元素
PS:下载所有区块数据信息
Fast同步
geth --syncmode "fast"
获取区块的header
获取区块的body
在同步到当前块之前不处理任何事务,然后获得一个快照,像full节点一样进行后面的同步操作。沿着区块下载最近数据库中的交易,有可能丢失历史数据。比如,你的账户地址A上面有10个ETH,但转入的的交易存在于较老的历史交易中,此同步模式无法获取到交易的详细情况。
使用此模式时注意需要设置–cache,默认16M,建议设置为1G(1024)到2G(2048)。
Ligth同步
geth --syncmode "light"
仅获取当前状态。验证元素需要向full节点发起相应的请求。
开启本地RPC端口
# light模式同步区块并开启RCP:rpcaddr:rpcport
geth --rpc --rpcaddr localhost --rpcport "8545" --syncmode "light"
获取与RCP相关的命令
geth --help | grep rpc
--rpc Enable the HTTP-RPC server
--rpcaddr "127.0.0.1" HTTP-RPC server listening interface
--rpcport "8545" HTTP-RPC server listening port
--rpcapi "db,eth,net,web3" API's offered over the HTTP-RPC interface
--rpccorsdomain Domains from which to accept cross origin requests (browser enforced)
geth –cache=2048 –goerli –rpc –rpcaddr 0.0.0.0 –rpcport=8545 –rpcvhosts=* –rpcapi=’eth,net,rpc’
启动geth开始后台同步区块
nohup geth --rpc --rpcapi web3,eth,net,db,personal --rpcaddr 0.0.0.0 --rpcport 8545 &
进入geth控制台
# geth attach rpc:http://127.0.0.1:8545
查看区块同步情况
> eth.syncing
{
currentBlock: 513872,
highestBlock: 8985345,
knownStates: 806036,
pulledStates: 794270,
startingBlock: 0
}
可以直接使用 yum 这个包管理器安装Golang
yum install golang
下载以太坊源码(Go Ethereum)
首先下载geth源码go-ethereum,这里以 go-ethereum-1.10.3.tar.gz 为例:
https://github.com/ethereum/go-ethereum/archive/refs/tags/v1.10.3.tar.gz
安装以太坊源码(安装Geth)
接下来解压缩源码:
tar -xzf go-ethereum-1.9.7.tar.gz
用下面的命令编译:
cd go-ethereum-1.9.7
make geth
[code]
make geth 也可以用make all 进行替代,make all 还会编译一些其他的程序套件
如果国内用户安装超时,可设置代理,再进行安装。
[code]
go env -w GOPROXY=https://goproxy.cn
编译完成后,此时会在 go-ethereum-1.9.7/build/bin 中生成geth可执行文件。
输入 geth help 命令,会显示geth所有的命令和选项:
cd build/bin
./geth help
配置geth
直接使用geth命令可能出现:
-bash: geth: command not found
解决方法一:可以为其的安装路径建立软连接
ln -s /data/go-ethereum-1.9.7/build/bin/geth /usr/local/bin/geth
解决方法二:也可以为其创建全局配置(对所有系统用户生效,永久生效,推荐)
通过vim 打开编辑器
vim /etc/profile
在最后一行追加以下内容:
export PATH=$PATH:/data/go-ethereum-1.9.7/build/bin/
然后让配置立即生效:
source /etc/profile
用 geth version 测试一下:
geth version
同步的几种方式
Full同步
geth --syncmode "full"
获取区块的header
获取区块的body
从创始块开始校验没一个元素
PS:下载所有区块数据信息
Fast同步
geth --syncmode "fast"
获取区块的header
获取区块的body
在同步到当前块之前不处理任何事务,然后获得一个快照,像full节点一样进行后面的同步操作。沿着区块下载最近数据库中的交易,有可能丢失历史数据。比如,你的账户地址A上面有10个ETH,但转入的的交易存在于较老的历史交易中,此同步模式无法获取到交易的详细情况。
使用此模式时注意需要设置–cache,默认16M,建议设置为1G(1024)到2G(2048)。
Ligth同步
geth --syncmode "light"
仅获取当前状态。验证元素需要向full节点发起相应的请求。
开启本地RPC端口
# light模式同步区块并开启RCP:rpcaddr:rpcport
geth --rpc --rpcaddr localhost --rpcport "8545" --syncmode "light"
获取与RCP相关的命令
geth --help | grep rpc
--rpc Enable the HTTP-RPC server
--rpcaddr "127.0.0.1" HTTP-RPC server listening interface
--rpcport "8545" HTTP-RPC server listening port
--rpcapi "db,eth,net,web3" API's offered over the HTTP-RPC interface
--rpccorsdomain Domains from which to accept cross origin requests (browser enforced)
geth –cache=2048 –goerli –rpc –rpcaddr 0.0.0.0 –rpcport=8545 –rpcvhosts=* –rpcapi=’eth,net,rpc’
启动geth开始后台同步区块
nohup geth --rpc --rpcapi web3,eth,net,db,personal --rpcaddr 0.0.0.0 --rpcport 8545 &
进入geth控制台
# geth attach rpc:http://127.0.0.1:8545
查看区块同步情况
> eth.syncing
{
currentBlock: 513872,
highestBlock: 8985345,
knownStates: 806036,
pulledStates: 794270,
startingBlock: 0
}
添加:
sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="0.0.0.0/24" port protocol="tcp" port="10050" accept"
加载:
firewall-cmd --reload
删除:
sudo firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="10.0.5.0/24" port protocol="tcp" port="10050" accept"
加载:
firewall-cmd --reload
sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="0.0.0.0/24" port protocol="tcp" port="10050" accept"
加载:
firewall-cmd --reload
删除:
sudo firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="10.0.5.0/24" port protocol="tcp" port="10050" accept"
加载:
firewall-cmd --reload
容器中安装passwd,openssl,openssh-server
yum install passwd openssl openssh-server net-tools -y
安装完成后
启动sshd:
# /usr/sbin/sshd -D
这时报以下错误:
[root@ b3426410ff43 /]# /usr/sbin/sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
执行以下命令解决:
[root@b3426410ff43 /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
[root@b3426410ff43 /]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
[root@b3426410ff43 /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
然后,修改 /etc/ssh/sshd_config 配置信息:
UsePAM yes 改为 UsePAM no
UsePrivilegeSeparation sandbox 改为 UsePrivilegeSeparation no
可以用vi改,也可以用下面命令
[root@b3426410ff43 /]# sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
[root@b3426410ff43 /]# sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config
修改完后,重新启动sshd
[root@b3426410ff43 /]# /usr/sbin/sshd -D
然后修改root密码
passwd root
或者直接一句修改
echo “123456″ | passwd --stdin root
接着需要把修改后的镜像保存了,首先输入exit退出容器,再使用下面命令查看刚运行过的,
docker commit将修改后镜像保存到本地,参数是ID,名字
#docker ps -all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3426410ff43 centos:7 "/bin/bash" 4 minutes ago Exited (0) 4 seconds ago centos7ssh
#docker commit b5926410fe60 myimage/centos7-ssh
下次可以输入刚保存的名字启动修改过安装了ssh服务的镜像了。
yum install passwd openssl openssh-server net-tools -y
安装完成后
启动sshd:
# /usr/sbin/sshd -D
这时报以下错误:
[root@ b3426410ff43 /]# /usr/sbin/sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
执行以下命令解决:
[root@b3426410ff43 /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
[root@b3426410ff43 /]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
[root@b3426410ff43 /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
然后,修改 /etc/ssh/sshd_config 配置信息:
UsePAM yes 改为 UsePAM no
UsePrivilegeSeparation sandbox 改为 UsePrivilegeSeparation no
可以用vi改,也可以用下面命令
[root@b3426410ff43 /]# sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
[root@b3426410ff43 /]# sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config
修改完后,重新启动sshd
[root@b3426410ff43 /]# /usr/sbin/sshd -D
然后修改root密码
passwd root
或者直接一句修改
echo “123456″ | passwd --stdin root
接着需要把修改后的镜像保存了,首先输入exit退出容器,再使用下面命令查看刚运行过的,
docker commit将修改后镜像保存到本地,参数是ID,名字
#docker ps -all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b3426410ff43 centos:7 "/bin/bash" 4 minutes ago Exited (0) 4 seconds ago centos7ssh
#docker commit b5926410fe60 myimage/centos7-ssh
下次可以输入刚保存的名字启动修改过安装了ssh服务的镜像了。
docker 1.12使用新版macvlan设置与宿主机同网段ip
******************************************
由于开发的一些特殊需求,需要将容器部署在与宿主机同一个网段中,部署步骤如下:
步骤一:创建网络
$ docker network create -d macvlan --subnet=172.16.0.0/24 --gateway=172.16.0.1 -o parent=eno16777736 mynet
548d79fe04c613d3ca180e8689f2207f71534020bc39566d62d0b5aeb67fc8b5
参数解析:
-d macvlan 加载kernel的模块名
--subnet 宿主机所在网段
--gateway 宿主机所在网段网关
-o parent 继承指定网段的网卡
步骤二:运行容器
$ docker run --net=mynet --ip=172.16.0.100 -it -d --rm centos:6.7 /bin/bash
参数解析:
--ip 可以指定容器的IP
*******************************************************************************************
http://www.itnpc.com/news/web/146104788357316.html
在知乎上看到这一段,先mark一下。
******************************************
由于开发的一些特殊需求,需要将容器部署在与宿主机同一个网段中,部署步骤如下:
步骤一:创建网络
$ docker network create -d macvlan --subnet=172.16.0.0/24 --gateway=172.16.0.1 -o parent=eno16777736 mynet
548d79fe04c613d3ca180e8689f2207f71534020bc39566d62d0b5aeb67fc8b5
参数解析:
-d macvlan 加载kernel的模块名
--subnet 宿主机所在网段
--gateway 宿主机所在网段网关
-o parent 继承指定网段的网卡
步骤二:运行容器
$ docker run --net=mynet --ip=172.16.0.100 -it -d --rm centos:6.7 /bin/bash
参数解析:
--ip 可以指定容器的IP
*******************************************************************************************
http://www.itnpc.com/news/web/146104788357316.html
在知乎上看到这一段,先mark一下。
在我们环境下,经常需要运营对网站进行测试,但是偶尔会出现不知道是在测试环境还是正式环境,因为测试环境都是通过Nginx反向代理进行访问.因此本文利用Nginx进行网页内容替换,然后在醒目位置进行提醒,以达到对测试环境的标识作用
yum -y install openssl openssl-devel
在编译nginx的时候添加--with-http_sub_module以加载sub模块
yum -y install openssl openssl-devel
在编译nginx的时候添加--with-http_sub_module以加载sub模块
一、防火墙的概念
防火墙技术是用于安全管理的软件和硬件设备,在计算机内/外网之间构建一道相对隔绝的保护屏障,以保护数据和信息安全性的一种技术。
防火墙分为网络防火墙和主机防火墙。
网络防火墙由软件和硬件组成,可以保护整个网络,价格也很贵,从几万到几十万的都有,功能非常强大,主要包括入侵检测、网络地址转换、网络操作的审计监控、强化网络安全服务等功能。
主机防火墙只有软件部分(操作系统和杀毒软件自带),用于保护本操作系统,功能比较简单,只能防范简单的攻击。
本文将介绍主机防火墙(CentOS7以上版本)的使用和配置。
防火墙技术是用于安全管理的软件和硬件设备,在计算机内/外网之间构建一道相对隔绝的保护屏障,以保护数据和信息安全性的一种技术。
防火墙分为网络防火墙和主机防火墙。
网络防火墙由软件和硬件组成,可以保护整个网络,价格也很贵,从几万到几十万的都有,功能非常强大,主要包括入侵检测、网络地址转换、网络操作的审计监控、强化网络安全服务等功能。
主机防火墙只有软件部分(操作系统和杀毒软件自带),用于保护本操作系统,功能比较简单,只能防范简单的攻击。
本文将介绍主机防火墙(CentOS7以上版本)的使用和配置。