设置全局代理,方法如下:
修改 /etc/profile 文件,添加下面内容:
http_proxy=http://username:password@yourproxy:8080/
ftp_proxy=http://username:password@yourproxy:8080/
export http_proxy
export ftp_proxy
如果没有密码限制,则以上内容可以修改为以下内容:
http_proxy=http://yourproxy:8080/
ftp_proxy=http://yourproxy:8080/
export http_proxy
export ftp_proxy
Linux是一套免费使用和自由传播的类Unix *** 作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的 *** 作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 *** 作系统。
Linux *** 作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的 *** 作系统。
找到socks5-v1.0r11.tar.gz这个软件包开始编译,安装
#tar xvfz socks5-v1.0r11.tar.gz
#cd socks5-v1.0r11
#./configure --with-threads
#make
#make install
开始配置
一般来说安装完后,会在/etc目录下生成socks5.conf(配置文件)和socks5.passwd(用于验证的文件)这两个文件,
下面我把我的配置文件帖出来
#/etc/socks5.conf
#指定SOCKS v5绑定的ip地址和监听的端口。如果不指定绑定的IP将使用0.0.0.0
set SOCKS5_BINDINFC 192.168.0.8:1080
#忽略ident请求。当客户机没有运行identd时,使用SOCKS5_NOIDENT将降低超时值
set SOCKS5_NOIDENT
#指定连接停顿最长时间。超过最大值后,socks5断开连接
set SOCKS5_TIMEOUT 15
#socks5将接受SOCKS V4 协议的请求,默认不接受
set SOCKS5_V4SUPPORT
#指定同时存在的最大子进程数,Socks5预设为64
set SOCKS5_MAXCHILD 4
#指定密码文件
set SOCKS5_PWDFILE /usr/local/socks5/etc/socks5.passwd
#对所有的客户连接都使用username/password用户认证方法
auth - - u
#允许来自192.168.0.的任何经过用户认证的连接
permit u - 192.168.0. - - -
#/usr/local/socks5/etc/socks5.passwd
#用户 密码
userA passwdA
userB passwdB
userC passwdC
前面的一些设置由于我在配置文件里都写了相关的内容,就不在说明了
如果不需要用户验证只需要把
auth - - u
改成 auth - - -
permit u - 192.168.0. - - -
改成
permit - - - - - -
注意上面permit - - - - - -这一句,是使任何人都可以使用你的socks5 server,非常不安全(让你作跳板),最好是有点限制
如
permit - - clientIP - - -
开始测试
/usr/local/socks5/bin/socks5 -f -s
如果出现下面的信息表示测试成功。
18210: Socks5 starting at Mon Dec 14 18:23:45 1998 in normal mode
然后退出socks5,开始正式运行它在背景模式:
正式运行
/usr/local/socks5/bin/socks5 -t -s 2>/var/log/socks5
最后,加到/etc/rc.d/rc.local
echo "/usr/local/socks5/bin/socks5 -t -s 2>/var/log/socks5.log"
>>/etc/rc.d/rc.local
如果要停止socks5,只要运行/usr/local/socks5/bin/stopsocks -kill就行,socks5就会停止!
启动测试:/usr/local/socks5/bin/socks5 -t
使用非默认端口:如果你想让socks5服务启动的时候不启动默认监听端口1080,比如为1234,我们可以运行如下命令
socks5 -b 1234 -t 当然你关掉这个服务,就必须用下面的命令 /usr/local/socks5/bin/stopsocks -p 1234 -kill
分类: 电脑/网络 >> *** 作系统/系统故障问题描述:
也许是我的问题太菜了
1,做LINUX代理需不需要安装系统默认的防火墙,我看好多贴自上写的都是用NAT转换,我也用NAT但是不知道安装LINXU做代理的时候到底要不要安装防火墙?
2,还是就是做代理在/etc/sysconfig/neork里面
GSTEWAY=里添外网的网关还是内网的
3,在/etc/hosts要不要把所有内网的IP都填进去,对速度是不是有提高
解析:
中了ARP病毒,下载一个最新的杀毒软件(金山下载地址为:orsoon可以免费升级)另外建议买个MAC 交换机或者从LINUX代理服务器里面绑定客户机的MAC地址,具体方法如下:
Linux下使用脚本实现动态arp绑定
BENET学术部
不久前,一位朋友想把他管理的局域网出口全部进行IP和MAC地址绑定,以防止非法用户上网。该局域网是用Linux实现Inter接入和管理。整个网络包括数栋房,分别通过交换机级联到总的Inter出口。网络使用了10.0.0.x到10.0.3.x/255.255.252.0这样的子网,总容量应该有1016(254×4)台主机。目前有大约400位合法上网用户,这些用户可能会随时增减。在Linux系统下,想利用MAC原理对IP进行封杀,从而达到对某个IP地址或IP地址段的管理和控制,可以通过Linux系统提供的ARP来实现。
构思
决定使用ARP绑定后,接下来就要考虑ARP的实现方法。ARP(Address Resolution Protocol)协议是用来向对方的计算机、网络设备通知自己IP对应的MAC地址的。如果所有非法用户都被赋予了错误的MAC地址,那么他们是无法通过这台服务器上网的。因此,ARP绑定要求必须将所有可能的IP地址全部与MAC地址绑定,才能够杜绝非法用户(当然,用户修改MAC地址除外)。
经过一番思索,确定了初步的构思。首先,用Linux Shell的循环方法生成一张包含从10.0.0.1到10.0.3.254的无效MAC地址匹配表,称之为全局表。然后根据DHCP服务器的数据得到一张合法用户的IP和MAC地址表,称之为合法表。接着,读取合法表中每个用户的IP,并在全局表中寻找匹配的IP,如果找到的话就用合法用户的MAC地址替换原来无效的MAC地址。最后,这张全局表中的合法用户匹配正确MAC地址,而非法用户匹配无效的MAC地址。只要用户把这张表写入系统ARP缓存,非法用户就不能通过简单的盗取IP方法来通过网关了。
实现
首先生成一张初始的全局表。它包含所有IP地址,每个IP地址与一个非法的MAC地址匹配。它的格式必须是arp命令能够识别的。初始化全局表的脚本为init,内容如下:
#!/bin/bash
ipprefix=10.0.
count1=0
while (( $count1 <4 ))
do
count2=1
while (( $count2 <255 ))
do
echo“$ipprefix$count1.$count2 00e***********”
let $count2+=1
done
let $count1+=1
done
写好后存档,用“chmod +x init”命令使得脚本可执行。然后运行脚本init >arp,就可以将结果保存到当前目录的arp文件中。该文件就是10.0.0.1到10.0.3.254所有IP地址与MAC地址00e***********绑定的ARP表,看上去该文件类似于下面这样:
10.0.0.1 00e***********
10.0.0.2 00e***********
10.0.0.3 00e***********
10.0.0.4 00e***********
10.0.0.5 00e***********
…… ……
需要注意的是,Shell脚本语法虽然和C语言类似,但对格式要求很严格,有些地方不能加空格,有些地方则必须加空格。比如let $count1+=1就不能写成let $count1 += 1;相反,while (( $count1 <4 )) 也不能写成while (($count1<4)),括号与语句之间必需有空格。
接下来通过DHCP服务器得到合法用户的IP与MAC地址匹配表(即合法用户表),假设是valid.arp文件。编写一个脚本一行一行地读取该表,每得到一个IP地址记录,就在前面生成的arp文件中查找同样的IP.如果找到的话,那么就用valid.arp中该IP的MAC地址替换arp文件中该IP的MAC地址。valid.arp文件可能像下面这样:
10.0.0.2 00e00a0f1d2c
……
10.0.1.25 00e0b2c3d5c1
……
查找替换脚本为replace,内容如下:
#!/bin/bash
# 定义并初始化三个变量,分别是合法用户表、全局表和作交换用的表
validArp=valid.arp
globalArp=arp
tmpArp=tmp.arp
count=1
# 371是合法用户的总数,也就是valid.arp表的记录数,然后加1
while (( count <371 ))
do
#“ sed -n‘”$count“p’$validArp”命令将每次打印valid.arp文件中的第$count个记录
# 例如,当$count=1的时候,该命令将打印: 10.0.0.2 00e00a0f1d2c2
# eval $getValid将会执行$getValid变量所包含的语句,并将结果赋给变量$curRec
getValid=“sed -n‘”$count“p’$validArp”
curRec=‘eval $getValid’
# echo $curRec awk‘{print $1}’命令将打印$curRec内容的第一个字段,也就是IP地址
# 然后我们将这个IP地址赋值给$curIP变量
getIP=“echo $curRec awk‘{print \$1}’”
curIP=‘eval $getIP’
# 这样我们就得到了合法用户的IP及IP和MAC地址对,接下来是最关键的一步
# 下面两条语句在全局表中查找与得到的IP匹配的项目,找到后就在该记录后面添加合法用户的IP
和MAC地址对,然后删除旧的非法IP和MAC地址对,并将结果存入一个新的文件tmp.arp
replace=“sed -e‘/$curIP\>/a\ $curRec’ -e‘/$curIP\>/d’$globalArp >$tmpArp”
eval $replace然后用新的文件覆盖全局表文件,并将计数器加1,供下次循环
cp -f $tmpArp $globalArp
let count+=1
done
到此脚本结束。需要注意的地方有两个:第一,所有包含“eval”命令的语句,使用的都是反引号,也就是通常位于Tab键上面的那个引号,这样变量才能得到语句执行的结果,而非语句本身;第二,如果出现变量和其它字母在一起的情况,用双引号将变量包含,否则会出现错误的变量名,例如下面这条语句:
getValid=“sed -n‘”$count“p’$validArp”
如果不用双引号把变量$count包起来,Shell会认为用户的变量是$countp,而不是$count.
在执行完replace后,再查看arp文件,会发现其中所有在valid.arp文件中存在的IP和MAC地址对,其中的初始化MAC地址已被替换为正确的MAC地址。
最后,将得到的arp文件拷贝为/etc/ethers,在系统启动时运行“arp -f”,就可以实现IP和MAC地址匹配了。
总结
通过这件事不难发现,Linux继承了Unix的优秀传统,具备强大和完善的系统管理方法。只要用户掌握一些常用的命令与工具,就可以极大地提高系统管理效率,降低管理的工作强度。学习和掌握这些方法,是每个合格的Linux系统管理员都应该做到的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)