Posts tagged ‘network’

aix上添加或删除默认路由

在服务器上PING其它网段的地址,发现是丢一个包通一个包,原因是服务器上设置了两个默认网关造成的,如下。

[P550]/ >#netstat -rn
Routing tables
Destination Gateway Flags Refs Use If Exp Groups

Route Tree for Protocol Family 2 (Internet):
default 192.0.0.253 UG 0 3858210 en0 – –
default 192.168.1.254 UG 0 23564 en2 – –
127/8 127.0.0.1 U 14 14363 lo0 – –
192.0.0.0 192.0.0.15 UHSb 0 0 en0 – – =
>
192.0.0/24 192.0.0.15 U 5 9129174 en0 – –
192.0.0.15 127.0.0.1 UGHS 2 7 lo0 – –
192.0.0.255 192.0.0.15 UHSb 0 4 en0 – –
192.168.1.0 192.168.1.8 UHSb 0 0 en2 – – =
>
192.168.1/24 192.168.1.8 U 0 4 en2 – –
192.168.1.8 127.0.0.1 UGHS 19 11138 lo0 – –
192.168.1.255 192.168.1.8 UHSb 0 4 en2 – –

只需删除其中一条无用的就可以,操作如下:

使用lsattr -EI inet0命令来查看服务器上的网络信息:

[P550]/ >#lsattr -El inet0
authm 65536 Authentication Methods
True
bootup_option no Use BSD-style Network Configurati
on True
gateway Gateway
True
hostname P550 Host Name
True
rout6 IPv6 Route
True
route net,-hopcount,0,,0,192.0.0.253 Route
True
route net,-hopcount,0,,0,192.168.1.254 Route
True

有两条默认路由(net,-hopcount开头),通过chdev命令来删除其中一条,使服务器网络正常:

[P550]/ >#chdev -l inet0 -a delroute=”net,-hopcount,0,,0,192.168.1.254″
inet0 changed

再使用netstat -rn来查看网络信息:

[P550]/ >#netstat -rn
Routing tables
Destination Gateway Flags Refs Use If Exp Groups

Route Tree for Protocol Family 2 (Internet):
default 192.0.0.253 UG 0 3858210 en0 – –
127/8 127.0.0.1 U 14 14363 lo0 – –
192.0.0.0 192.0.0.15 UHSb 0 0 en0 – – =
>
192.0.0/24 192.0.0.15 U 5 9129174 en0 – –
192.0.0.15 127.0.0.1 UGHS 2 7 lo0 – –
192.0.0.255 192.0.0.15 UHSb 0 4 en0 – –
192.168.1.0 192.168.1.8 UHSb 0 0 en2 – – =
>
192.168.1/24 192.168.1.8 U 0 4 en2 – –
192.168.1.8 127.0.0.1 UGHS 19 11138 lo0 – –
192.168.1.255 192.168.1.8 UHSb 0 4 en2 – –

可以看出,只剩下了一条到192.0.0.253的默认网关,再去PING其它网段的服务器地址就正常了。如果想把下一跳地址改为192.0.0.254,则需要先将253的这条先删除:

[P550]/ >#chdev -l inet0 -a delroute=”net,-hopcount,0,,0,192.0.0.253″
inet0 changed

再添加一条至192.0.0.254的默认路由:

[P550]/ >#chdev -l inet0 -a route=”net,-hopcount,0,,0,192.0.0.254″
inet0 changed

RouterOS上建立PPTP点对点隧道

by funpower,2009年1月4日23:33,funpower#gmail.com,转载请注明出处。水平有限,文中难免有错误,望指正。

网络说明:
1、RouterOS公网IP:218.50.45.xxx/248
2、企业内网服务器资源IP:192.168.0.0/04
3、远端用户端入后的IP:192.168.5.0/24
4、本例中建立一个pptp用户:用户名user,密码123456

简单网络拓扑图:

pptp4

首先介绍一下PPTP,字面意思理解就是一种点对点隧道协议,Point to Point Tunneling Protocol,用于在IP网络上建立PPP会话隧道。通常用在出差人员在外想使用公司内部资源,不可以通过拔入公司的PPTP SERVER,会话建立后,计算机就会多出一个VPN IP,如下图,这样就可以像在公司访问企业内部资源一样了。

pptp5

下面就开始简单介绍如何在RouterOS上建立公司的PPTP Server:

1、利用winbox登陆RouterOS服务器

pptp6

2、建立远端用户地址池
选择IP—>池,在打开的窗口中点击“+”,然后输入池名称pptp_pool,地址输入192.168.5.1-192.168.5.254,新的池输入none(默认),最后点击“OK”。

pptp7

pptp9

3、配置PPTP Server

配置Interfaces(启用PPTP Server):
点击主菜单的PPP,在弹出的菜单中选择Interfaces选项,然后点击PPTP Server,在enable上打钩,Max MTU和Max MRU都改成1460,其余设置参考下图,完成后点击“OK”。

pptp10

pptp18
再选择此窗口的“+”按扭,并选择“PPTP Server”,名称默认,直接点击“OK”,如下图。

pptp11

pptp12

这时Interfaces窗口下就多了个name为pptp-in1的项了,选择它点击右键选“启用”,如下图。

pptp13

配置Profiles(配置PPTP配置文件):
配置完刚才的Interfaces窗口后,点击窗口的Profiles选项栏,如下图:

pptp14

再点击“+”,Name设置为pptp-profiles,Local Address设置为公网IP218.50.45.xxx,Remote Address设置为刚才新建的地址池pptp_pool,其他设置参考如下两张图,设置完后点击“OK”。

pptp15

pptp16

配置Secrets(配置PPTP登陆用户名密码):
选择Secrets选项栏后,点击“+”按扭,name输入user,密码输入123456,Service选择pptp,Profile选择上一步建立的pptp_profiles,点击“OK”,这样就建立了一个用户名为user,密码为123456的pptp登陆用户。如下图。

pptp17

至此,企业服务器端RouterOS上的PPTP Server设置全部完成。

4、在远程移动办公的计算机上建立PPTP拔号连接

打开一个新建链接,点击下一步

pptpa

选择“连接到我的公共场所的网络”

pptpb

选择“虚拟专用网络连接”

pptpc

任意输入一个pptp连接名称

pptpd

选择“不拔初始连接”

pptpe

这里填入公司RouterOS Server的公网IP地址:218.50.45.xxx

pptpf

pptpg

点击完成,这样桌面上就会产生一个pptp拔号图标,双击后就能连接公司的PPTP Server,连接成功后右下角就会增加一个网络图标,并可以查看获取到的pptp信息,如下图。

pptph

FreeBSD-6.2Release+Squid-2.6架设上网二级代理服务器

二级上网代理服务器,用的很少,不过有时你想控制局域网中一小部分的机器的上网,就用的上。前两天架设了一台二级代理,写个笔记。

如下图, 一级和二级代理服务器都使用FreeBSD6.2Release+Squid2.6,一级代理直接和外网线路连接,用户通过设置相应的网段IP和代理服务器(IE上设置)进行上网。一级代理服务器后面的交换上的用户直接设置21段的IP再加上在IE上设置192.168.21.254及端口3128进行上网;二级代理后面的用户就要设置11段的IP加上192.168.11.254及端口3128进行上网。

freebsdsquiddeer.gif

============================================

一、一级代理服务器的架设

说明:

操作系统:FreeBSD6.2Release

代理软件:Squid2.6STABLE16

外网卡:em0 -> 218.90.159.xxx (默认网关为上一级ISP提供)

内网卡:em1 -> 192.168.21.254

1、FreeBSD的安装及优化

(1)最小化安装FreeBSD6.2RELEASE

(2)配置rc.conf

hostname="one.www.com"
defaultrouter="218.90.159.xxx"
ifconfig_em0="inet 218.90.159.xxx netmask 255.255.255.xxx" //外网IP
ifconfig_em1="inet 192.168.21.254 netmask 255.255.255.0" //内网IP
sendmail_enable="NONE"
inetd_enable="YES"
linux_enable="YES"
sshd_enable="YES"
usbd_enable="YES"

(3)配置内核:

newproxy# cd /usr/src/sys/i386/conf
newproxy# cp GENERIC funpower
newproxy# ee funpower

修改内核配置文件,将不需要的选项(如网卡)之类的前面打#,然后按esc并按a保存退出,再执行:

newproxy# /usr/sbin/config funpower
newproxy# cd ../compile/funpower
newproxy# make cleandepend
newproxy# make depend
newproxy# make
newproxy# make install

2、squid的安装

(1)安装perl

newproxy# cd /usr/ports/lang/perl5
newproxy# make install

(2)下载并安装squid

从http://www.squid-cache.org/Versions/v2/2.6/下载squid-2.6.STABLE16.tar.gz并通过FTP放置服务器目录中/home/funpower,然后开始解压安装:

newproxy# cd /home/funpower
newproxy# tar zxvf squid-2.6.STABLE16.tar.gz
newproxy# cd squid-2.6.STABLE16
newproxy# ./configure –prefix=/usr/local/squid
newproxy# make
newproxy# make install

(3)配置squid.conf

newproxy# cd /usr/local/squid/etc
newproxy# ee squid.conf

内容如下:

acl web src 192.168.21.0/24
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow web
http_access deny all
icp_access allow all
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin ?
cache deny QUERY
cache_mem 64 MB
cache_dir ufs /usr/local/squid/cache 7000 16 256
access_log /dev/null
cache_log /dev/null
cache_store_log none
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mgr webmaster@www.com
cache_effective_user squid
cache_effective_group squid
visible_hostname one.www.com

(4)创建用户及缓存等:

newproxy# pw groupadd squid
newproxy# pw adduser squid -g squid -s /nonexistent
newproxy# mkdir /usr/local/squid/cache
newproxy# chown -R squid /usr/local/squid/cache
newproxy# chgrp -R squid /usr/local/squid/cache
newproxy# chown -R squid /usr/local/squid/var/logs
newproxy# chgrp -R squid /usr/local/squid/var/logs
newproxy# /usr/local/squid/sbin/squid -z
newproxy# cd /usr/local/squid/sbin
newproxy# ./squid
newproxy# ee /etc/rc.local

加入如下一行:

/usr/local/squid/sbin/squid

保存退出。

这样一级代理就设置完成,按照下图设置后就能联网络了。

ipproxyie.gif

============================================

二、二级代理服务器的架设

下来架设本文的着重点——二级代理,所使用的软件都一样,也是FreeBSD6.2Release+Squid2.6,而且安装FreeBSD的步骤和一级代理的也一样(只有内、外网卡的IP及网关不一样),唯独在配置Squid时配置文件有些不同,具体如下:

说明:

操作系统:FreeBSD6.2Release

代理软件:Squid2.6STABLE16

外网卡:xl0 -> 192.168.21.250 (这里的默认网关就应该是一级代理服务器的内网卡地址,为192.168.21.254)

内网卡:xl1 -> 192.168.11.254

1、安装FreeBSD

安装的具体步骤和上面一级代理的方法一样,只是在配置rc.conf时的IP不一样,如下:

hostname="two.www.com"
defaultrouter="192.168.21.254" //一级代理的内网卡地址
ifconfig_xl0="inet 192.168.21.250 netmask 255.255.255.0" //外网IP
ifconfig_xl1="inet 192.168.11.254 netmask 255.255.255.0" //内网IP
sendmail_enable="NONE"
inetd_enable="YES"
linux_enable="YES"
sshd_enable="YES"
usbd_enable="YES"

2、安装Squid2.6

同样,安装方法和上面一级代理的一样,只是在配置squid的配置文件squid.conf不一样。增加了两行内容,如下:

acl web src 192.168.11.0/24
cache_peer 192.168.21.254 parent 3128 3130 proxy-only //定义父代理(也就是上一级代理)的IP及上网端口3128
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow web
never_direct allow all //所有请求转发至父代理上
http_access deny all
icp_access allow all
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin ?
cache deny QUERY
cache_mem 64 MB
cache_dir ufs /usr/local/squid/cache 7000 16 256
access_log /dev/null
cache_log /dev/null
cache_store_log none
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mgr webmaster@www.com
cache_effective_user squid
cache_effective_group squid
visible_hostname two.jscpu.com

这样二级代理也架设完成,按照如下的设置二级代理服务器后的用户应该就也可以上网了。

ipproxyie2.gif

总结:架设二级代理时,个人感觉最重要的还是要搞清楚一、二级代理四块网卡的IP,至于架设方法,和一级代理没啥区别,最主要的是squid.conf中增加了二行内容 。

by funpower, 2007-10-31 23:42。