• 每天进步一点点!

文章分类

推荐网站

常用手册

解决Ucloud没有弹性IP的内网主机访问外网的问题【原创】

我有三台Ucloud的云主机,IP地址如下:

 

主机A:内网IP:10.6.14.98 外网弹性IP:42.62.79.183

主机B: 内网IP:10.6.13.86

主机C:内网IP:10.6.13.227

 

主机A可以通过外网弹性IP:42.62.79.183访问外网,但是主机B和主机C不可以访问外网,现在想让主机B和主机C通过主机A访问外网。具体操作如下:

 

  1. 在主机A上:修改/etc/sysctl.conf文件中的net.ipv4.ip_forward = 0为net.ipv4.ip_forward = 1,开启路由转发功能。(centos 7中/etc/sysctl.conf没有net.ipv4.ip_forward配置项需要新增)
  2. 执行sysctl -p使上一部的配置生效,centos 7可能会报如下错误:

 

 

需要加载下nf_conntrack模块,命令如下:

modprobe nf_conntrack

加载完后,需要再次执行sysctl -p

 

  1. 在主机A上:在路由机器(具备外网IP)设置iptables转发规则,
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. 在主机B上和主机C上:修改/etc/sysconfig/network-scripts/ifcfg-eth0,修改网关,使默认路由为路由机器(具备外网IP的主机A)的内网IP。
#GATEWAY=10.6.0.1
GATEWAY=10.6.14.98
  1. 在主机B和主机C上用ping命令进行测试,如果能ping通说明已经可以访问外网了。

 

类别:Linux | 浏览(374) | 评论(0) | 阅读全文>>

CentOS下配置SVN服务器【原创】

  • 安装subversion
yum -y install subversion

 

  • 创建两个项目目录
mkdir -p /svnrepos/Project1
mkdir -p /svnrepos/Project2

 

  • 用svnadmin命令创建两个svn资源项目
svnadmin create /svnrepos/Project1
svnadmin create /svnrepos/Project2

 

  • 为了使两个项目用同一套配置文件,我们将配置文件放到/svnrepos/目录下
cp -r /svnrepos/Project1/conf /svnrepos/conf

 

  • 配置passwd,添加用户名和密码,用户名密码用等号分开
cd /svnrepos/conf
vim passwd

 

[users]
# harry = harryssecret
# sally = sallyssecret

lixia = lixia
yushushu = yushushu
chenlei = chenlei
zouxinru = zouxinru
caoxiaoying = caoxiaoying
chenbaoyu = chenbaoyu
liuyuchen = liuyuchen
liaoxiaoxue = liaoxiaoxue
wangtianyu = wangtianyu
huangzhonghua = huangzhonghua

 

  • 配置授权文件

 

vim authz 

 

 

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe


admin = lixia,yushushu
dev = yushushu,chenlei,zouxinru,wangtianyu
test = caoxiaoying,chenbaoyu
res = huangzhonghu

类别:Linux | 浏览(93) | 评论(0) | 阅读全文>>

Linux关闭防火墙【原创】

重启后生效

 #开启
chkconfig iptables on 

 #关闭 
chkconfig iptables off 

#或者用下面的命令关闭
 /sbin/chkconfig --level 2345 iptables off

 

即时生效

#开启
service iptables start 

#关闭
service iptables stop

 

查看防火墙是否开启

service iptables status

 

类别:Linux | 浏览(77) | 评论(0) | 阅读全文>>

sed和grep结合使用【原创】

#linux
sed -i 's#/kfs/#/kfs/test22/#g' `grep kfs -rl --include="*.php" --exclude="config.php" ./`  

#mac
sed -i "" 's#/kfs/#/kfs/test22/#g' `grep kfs -rl --include="*.php" --exclude="config.php" ./` 

 

参数解释: 
sed:
-i 表示操作的是文件,``括起来的grep命令,表示将grep命令的的结果作为操作文件
s/yyyy/xxxx/表示查找yyyy并替换为xxxx,后面跟g表示一行中有多个yyyy的时候,都替换,而不是仅替换第一个

grep:
-r表示查找所有子目录
-l表示仅列出符合条件的文件名,用来传给sed命令做操作
--include="*.php" 表示仅查找php文件
exclude="config.php" 表示不查找config.php
./ 表示要查找的根目录为当前目录

类别:Linux | 浏览(96) | 评论(0) | 阅读全文>>

RedHat 6 使用CentOS 6 的 yum源【转载】

  • 首先到 http://mirrors.163.com/centos/6/os/x86_64/Packages/下载软件包。

必要下载的软件包有(以64位系统为例):

python-iniparse-0.3.1-2.1.el6.noarch.rpm
yum-3.2.29-40.el6.centos.noarch.rpm
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

[注] :版本不一定要最新的(http://mirrors.163.com/centos/6/os/x86_64/Packages/ 查找对应版本)

 

  • 卸载RedHat自带的yum
rpm -qa | grep yum | xargs rpm -e --nodeps  

注:xargs是一条Unix和类Unix操作系统的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题
   --nodeps  强制卸载,不管依赖性 

 

  • 安装下载的centos的yum包:
rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm  
rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm  
rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm 

[注] :最后2个需要一起安装,否则会出现依赖性错误

 

  • 下载CentOS6-Base-163.repo文件,存放到/etc/yum.repo.d中
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo  

 

类别:Linux | 浏览(105) | 评论(0) | 阅读全文>>