CentOS双线服务器路由配置

服务器双线由教育网和电信网组成,实现不同的路线过来的用户按原来的路返回数据。

一、基本信息

操作系统:CentOS 6.4

网卡0(教育网):IP:10.10.10.10 掩码:255.255.255.0    网关:10.10.10.1

网卡1(电信网):IP:192.168.1.10 掩码:255.255.255.0  网关:192.168.1.1

 

二、实现方法

方法一:导入静态路由

选用导入静态路由表,这个办法其实问题很多:

1 、电信用户如果被解析到教育网的IP上, 服务器根据路由表会返回电信线路,但用户请求的是教育网IP,所以用户什么也得不到,就好像你从一楼买了东西,商场却在二楼给你出货了,而且不告诉你要去二楼拿。

2 、就算被正确解析了 ,但是如果是移动网用户,服务器会因为路由表里没有IP记录而不会返回任何东西。

3 、IP不断的都在变化,也有新增的,要不停的维护路由表实在太累。

以上三条中的任意一条的存在,我想你都不会考虑用静态路由表了。

 

方法二:根据网卡返回数据

1.增加两个路由表

#vim  /etc/iproute2/rt_tables

添加以下内容

252     ChinaNet
251     CerNet

2.设置电信和教育网路由

#vim /etc/rc.d/rc.local

添加以下内容

#默认路由线路
ip route replace default via 192.168.1.1 dev eth1

#刷新ChinaNet路由表
ip route flush table ChinaNet

#添加回环地址
ip route add default via 192.168.1.1 dev eth1 src 192.168.1.10 table ChinaNet

#从192.168.1.10 过来的,走ChinaNet路由
ip rule add from 192.168.1.10 table ChinaNet

#刷新CerNet路由表
ip route flush table CerNet
ip route add default via 10.10.10.1 dev eth0 src 10.10.10.10 table CerNet

#从10.10.10.10过来的走CerNet路由
ip rule add from 10.10.10.10 table CerNet

3.重启服务器并测试

#reboot

 

测试效果:

本地:分别ping 教育网和电信网IP,看是否能通,我在教育网分别访问服务器教育网和电信网ip能返回数据包

网络:http://ping.chinaz.com/ 分别输入你的服务器ip测试访问效果,或者输入域名也可以(有解析双线的域名)

到这里如果没有其他意外,你应该成功设置好了双线路服务器。

 

4.默认网关配置

默认的,我把服务器的默认网关设置成了电信网,教育网网卡没有设置网关

注释教育网网关:

#vim /etc/sysconfig/network-scripts/ifcfg-eth0

#GATEWAY=10.10.10.1

 

电信网网关不改:

#vim /etc/sysconfig/network-scripts/ifcfg-eth1

GATEWAY=192.168.1.1

CentOS配置svn服务

一、安装subversion

安装subversion服务软件

#yum install subversion

查看安装后文件的分布情况

#rpm -ql subversion

卸载subversion

#yum remove subversion

停止subversion服务

#killall svnserve

二、创建仓库

以创建多个仓库为例

#svnadmin create /var/svn/demo
#svnadmin create /var/svn/test

/var/svn/demo和/var/svn/test为所创建两个新仓库的路径,理论上可以是任何目录。这里我取/var/svn为所有仓库的根路径,在目录下面分别创建仓库。

三、配置仓库

针对每个仓库单独配置,分别修改每个仓库conf目录下的三个配置文件(authz、passwd、svnserve.conf)

1.修改authz文件,这个配置文件里面可以设置用户组和用户目录权限

#vim /var/svn/demo/conf/authz
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
###  - a single user,
###  - a group of users defined in a special [groups] section,
###  - an alias defined in a special [aliases] section,
###  - all authenticated users, using the '$authenticated' token,
###  - only anonymous users, using the '$anonymous' token,
###  - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').

[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = admin,user1,user2
# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
@admin 	= rw
*	=

上面加粗部分是我配置的内容,第一部分配置一个用户组admin 有成员admin和user1、user2三个;第二部分配置目录权限,设置admin组(前面加@符号)的权限为读写权限,其他成员没有权限(* = )

2.修改passwd文件,设置访问当前仓库的用户和密码

#vim /var/svn/demo/conf/passwd
passwd文件配置

3.修改svnserve.conf文件,开启权限控制等功能

找到第一个常规选项[general],把前面是一个#号的去掉#号,如下是我的demo仓库配置内容

#vim /var/svn/demo/svnserve.conf
[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = none
auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file.  If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
realm = demo

注意:所有的行都必须顶格,否则报错。

备注:多个仓库使用同一套账号密码认证,可以通过修改各个仓库的配置文件svnserve.conf 来实现,将认证文件和密码账号文件指向同一个文件即可。

四、启动和关闭服务

1.启动服务

#svnserve -d -r /var/svn --listen-host
192.168.1.100

命令中/var/svn是我所有仓库的所在的根目录,如果单个仓库,可以直接写仓库地址即可,比如启动demo仓库,#svnserve -d -r /var/svn/demo –listen-host 192.168.1.100

2.停止服务

#killall svnserve

五、访问仓库项目

我们有两个代码仓库/var/svn/demo 和/var/svn/test,那么在客户端访问时可以用。

svn://192.168.1.100/demo
svn://192.168.1.100/test

六、开放服务器端口(可选)

svn默认端口是3690,如果你设置了防火墙,你需要在防火墙上开放这个端口,iptables如下配置:

#/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
#/sbin/service iptables save

(完)

Windows更改远程桌面默认端口号

一、判断端口是否开启

在命令行里输入telnet 127.0.0.1 3389 查看是否开启远程桌面,

 

二、修改注册表端口号

1.进入以下路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp

找到右边的PortNamber项,其默认值是3389(在后面的括号中显示),选择十进制修改成所希望的端口即可,例如3344。

2.再打开以下路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\Tenninal Server\WinStations\RDP\Tcp (windows 10 为 RDP-Tcp)

同上将PortNumber的值(默认是3389)修改成端口3344。

3.修改完毕,重新启动电脑,以后远程登录的时候使用端口3344就可以了(端口号可以是大于1024的任意端口,但是不要和已有的服务端口冲突即可)。

 

三、防火墙设置

打开控制面板,找到防火墙并且打开高级设置,在入站规则中添加允许TCP 3344端口进入。

然后客户端在访问的时候,使用在运行:mstsc,然后输入:192.168.1.100:3344 就可以了。

FTP服务器主动模式与被动模式

一、FTP协议及端口

FTP只通过TCP连接,没有用于FTP的UDP组件。FTP不同于其他服务的是它使用了两个端口,一个数据端口和一个命令端口。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。

 

二、主动模式和被动模式

主动模式(active mode)也称为标准模式,被动模式(passive mode),两种模式主要体现在数据传输时候的发起方不一样,导致服务器需要开放的端口也不一样。

 

主动模式下,当完成认证之后准备传输数据时,客户端发送命令PORT xxxx,服务器主动连接客户端指定的端口号,客户端开放的端口是随机选择的。此时,服务器防火墙需要开放的两个TCP连接端口为21、20端口。

 

被动模式下,当完成认证之后准备传输数据时,客户端认证完成发送命令PASV,此时服务器会自动打开两个随机端口并发送PORT xxxx命令给客户端,然后客户端发起从本地端口到服务器的端口xxxx的连接用来传送数据。在被动模式下,服务器需要开放端口包括21以及1024到65535之间的端口号。

 

IIS下的FTP服务,默认开启的是主动模式,需要设置服务器防火墙开放TCP协议20、21端口供FTP使用。

 

三、客户端连接FTP模式切换

IE浏览器以及我的电脑,设置IE浏览器打开“Internet 选项”,找到高级下的“浏览”节点,将“使用被动FTP(用于防火墙和DSL调制解调器的兼容)”的勾选去掉。

设置以上完成之后,可以在我的电脑上直接浏览FTP服务器。

 

Filezilla 客户端设置主动模式:

打开filezilla 客户端,选择菜单【文件】-【站点管理】-【传输设置】,单选中间的主动模式即可。

四、防火墙NAT服务器IP问题

对于服务器使用内网IP地址,然后通过防火墙NAT出去的,需要设置服务器外网对应的IP地址。

Windows服务器IIS中,通过设置防火墙支持来完成:

在Filezilla server中,点击设置进入如下界面设置对应开放的端口号范围以及外网IP地址:

我遇到的情况是在windows 2008 服务器上,本省服务器防火墙可以开放任意端口,但是在外设防火墙下做了NAT转换,本身开放的端口也就只能是21和20端口,其他端口没有自动开启,导致外部连接只能通过主动模式。这样的方式就是在于对一般用户,他没办法选择任何工具自动连接FTP服务器,需要选择主动模式才行。

修改SSH默认远程端口为21号端口

在防火墙配置的规则下默认只开放了21端口,需要远程通过ssh管理服务器,经过测试可以设置,具体步骤如下。

 

一、修改sshd服务默认监听端口

#vim /etc/ssh/sshd_config

找到#port 22去掉注释修改为port 21

 

二、修改iptables防火墙过滤规则

1.将22端口修改为21端口号

#vim /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

端口修改为

-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT

 

2.重启iptables服务,重新加载配置生效

#service iptables restart

 

三、修改SElinux规则

1.安装 semanage selinux规则管理软件

#yum -y install policycoreutils-python

 

2.查看现有的端口情况

#semanage port -l|grep -w ’21’(精确匹配21端口使用情况)

101-1

3.把21端口添加到ssh服务端口组(可以先停止SElinux:setseforce 0)

#semanage port -a -t ssh_port_t -p tcp 21

此时再用(2)的方法查看21端口使用情况,同时存在ssh和ftp服务端口里。

 

四、测试

重启服务器并测试通过putty等软件ssh链接服务器21端口是否成功

#reboot

以上设置完成之后,默认的FTP服务21端口可以继续使用,ssh服务也可以使用21端口连接。