当前位置: 技术问答>linux和unix
急问:用LINUX坐服务器管理WINDOWS从机并共享上网要怎么做?
来源: 互联网 发布时间:2015-05-30
本文导语: 实验室做服务器的机子(双网卡)借中病毒之机今天改装成LINUX9,其他个人从机都是WINDOWS,请问要实现其他从机通过这台机子上网并且建立象WIN2000 SERVER能建的域之类的进行管理改怎么做? 急问各位大虾!! ...
实验室做服务器的机子(双网卡)借中病毒之机今天改装成LINUX9,其他个人从机都是WINDOWS,请问要实现其他从机通过这台机子上网并且建立象WIN2000 SERVER能建的域之类的进行管理改怎么做?
急问各位大虾!!
急问各位大虾!!
|
要做网关路由是很简单的,你可以这样:
modprobe ipchains
echo 1 > /proc/sys/net/ipv4/ip_forward
ipchain -A forward -j MASQ -s 0.0.0.0/0 -d 0.0.0.0/0
不知道楼主是要域控制还是要域名控制。如果是域名的话,Linux可以工作得非常好。如果是域的话,你虽然可以使用samba模拟,但是既然你改成了linux,那就应该用linux中的更好地解决方案。
modprobe ipchains
echo 1 > /proc/sys/net/ipv4/ip_forward
ipchain -A forward -j MASQ -s 0.0.0.0/0 -d 0.0.0.0/0
不知道楼主是要域控制还是要域名控制。如果是域名的话,Linux可以工作得非常好。如果是域的话,你虽然可以使用samba模拟,但是既然你改成了linux,那就应该用linux中的更好地解决方案。
|
上网的话直接用iptables做好NAT即可
可以用samba模拟nt的域,当然无法做到功能那么好了
可以用samba模拟nt的域,当然无法做到功能那么好了
|
我是用redhat9默认安装的squid2.5,如果事先没有安装的话可以用下载tar来安装
1.设置squid
vi /etc/squid/squid.conf
http_port 3128---------------这是squid侦听的端口,默认
cache_mem 16 MB-----------按照squid的官方网站上说16M最佳,我也没试过
cache_swap_low 75
cache_swap_high 85-------这个功能就比较好了,意思是你的cache目录如果容量达到总容量的85%时,就会删除旧文件降低容量到75%
maximum_object_size 4096 KB-----这个是保存文件cache的最大容量,可以自己设定
maximum_object_size_in_memory 8 KB-----这个是内存上保存文件cache的最大容量,一般默认好了
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024------这些是关于ip地址和域名缓存的,默认
cache_dir ufs /var/spool/squid 1000 16 256------在/var/spool/squid下建立缓存目录,预设大小是1G,并且在这下面建立16个子目录,在每个子目录下又建立256个子目录
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log--------这些都是日志文件的路径
pid_filename /var/run/squid.pid
client_netmask 255.255.255.0
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours------上面关于认证的3行请注释掉吧,因为我们用了透明代理,这些关于认证的也不起作用了
acl our_networks src 192.168.1.0/24
http_access allow our_networks
http_access allow localhost
http_access deny all------------这几行配合起来就是对代理客户机实现控制,只允许192.168.1.0这个网段使用代理
cache_mgr your_email
cache_effective_user squid
cache_effective_group squid------这是关于squid的用户和组,我是用默认的,所以存在squid这个用户和组,如果是用tar安装的,可以设成nobody.nobody,不过不要忘了把刚才那个cache目录的权限也设置成nobody.nobody
httpd_accel_host yourhost.yourdomain
httpd_accel_port 80----------如果你没有域名的话,可以设定virtual,端口是0
httpd_accel_with_proxy on
httpd_accel_uses_host_header on-------这几行是实现透明代理的关键
保存后,启动squid:/etc/iniit.d/squid start
2.设定iptables规则
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
---------我的外网卡是eth0,内网卡是eth1,注意这两行的次序不能搞错了,否则你的squid将不起作用
现在你的内网客户机就可以通过代理访问www了,而其他服务都通过nat
3.安装配置pwebstats来分析squid日志文件,给出分析报告
下载pwebstats-1.3.8.tar
在配置pwebstats前先要下载fly,然后编译一下生成一个二进制文件,拷到/usr/local/bin中,我这里已经有一个编译好了的,如果谁要可以给我发信,我发给你,这是我的邮箱:lichin@eyou.com,不过不要忘了gzip -d fly.gz ,chmod 755 fly ,mv fly /usr/local/bin一下
下面执行:
cd /usr/local
tar -xvf /tmp/pwebstats-1.3.8.tar
mv pwebstats-1.3.8 pwebstats
cd pwebstats
vi pwebstats
将#!/usr/local/bin/perl
改为#!/usr/bin/perl---------------因为我的perl执行文件在这个路径下
保存,退出
mkdir /var/www/html/pwebstats
vi conf/squid-proxy.conf
Server_header:My_Proxy_Server-----这是分析报告网页的标题
logfile:/var/log/squid/access.log-------你的squid日志文件路径
outdir:/var/www/html/pwebstats-----报告输出目录,明白我们前面为什么在html下建立这个目录了吧
interval:daily----------输出的是日分析报告
fly_prog:/usr/local/bin/fly----------fly这个文件的路径
保存退出,rotate一下日志/usr/sbin/squid -k rotate
/usr/local/pwebstats/pwebstats -c
> /usr/local/pwebstats/conf/squid-proxy.conf
好了,现在你打入http://yourdomain/pwebstats就可以看到分析报告了
你也可以做成一个scripts,然后在crontab中设定每日统计一下
vi /root/squid.logrotate
#!/bin/bash
/usr/sbin/squid -k rotate
sync; sleep 5s
/usr/local/pwebstats/pwebstats
> -c /usr/local/pwebstats/conf/squid-proxy.conf
保存退出
chmod 744 /root/squid.logrotate
vi /etc/crontab
59 23 * * * root /root/squid.logrotate
保存退出,然后重启一下crond:/etc/init.d/crond reload
好,大功告成,现在已经能够使内网通过squid访问www,其他服务由nat来做,而且可以定时产生日志分析报告,告诉你的代理的流量状况
上述如果是用tar安装squid的话,一些命令可能有所不同,比如
squid start/your/path/squid RunCache
squid stop/your/path/squid -k shutdown
squid reload/your/path/squid -k reconfigure
具体的一些命令可以自己参考一下squid里的说明文件
1.设置squid
vi /etc/squid/squid.conf
http_port 3128---------------这是squid侦听的端口,默认
cache_mem 16 MB-----------按照squid的官方网站上说16M最佳,我也没试过
cache_swap_low 75
cache_swap_high 85-------这个功能就比较好了,意思是你的cache目录如果容量达到总容量的85%时,就会删除旧文件降低容量到75%
maximum_object_size 4096 KB-----这个是保存文件cache的最大容量,可以自己设定
maximum_object_size_in_memory 8 KB-----这个是内存上保存文件cache的最大容量,一般默认好了
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024------这些是关于ip地址和域名缓存的,默认
cache_dir ufs /var/spool/squid 1000 16 256------在/var/spool/squid下建立缓存目录,预设大小是1G,并且在这下面建立16个子目录,在每个子目录下又建立256个子目录
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log--------这些都是日志文件的路径
pid_filename /var/run/squid.pid
client_netmask 255.255.255.0
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours------上面关于认证的3行请注释掉吧,因为我们用了透明代理,这些关于认证的也不起作用了
acl our_networks src 192.168.1.0/24
http_access allow our_networks
http_access allow localhost
http_access deny all------------这几行配合起来就是对代理客户机实现控制,只允许192.168.1.0这个网段使用代理
cache_mgr your_email
cache_effective_user squid
cache_effective_group squid------这是关于squid的用户和组,我是用默认的,所以存在squid这个用户和组,如果是用tar安装的,可以设成nobody.nobody,不过不要忘了把刚才那个cache目录的权限也设置成nobody.nobody
httpd_accel_host yourhost.yourdomain
httpd_accel_port 80----------如果你没有域名的话,可以设定virtual,端口是0
httpd_accel_with_proxy on
httpd_accel_uses_host_header on-------这几行是实现透明代理的关键
保存后,启动squid:/etc/iniit.d/squid start
2.设定iptables规则
/sbin/iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-ports 3128
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
---------我的外网卡是eth0,内网卡是eth1,注意这两行的次序不能搞错了,否则你的squid将不起作用
现在你的内网客户机就可以通过代理访问www了,而其他服务都通过nat
3.安装配置pwebstats来分析squid日志文件,给出分析报告
下载pwebstats-1.3.8.tar
在配置pwebstats前先要下载fly,然后编译一下生成一个二进制文件,拷到/usr/local/bin中,我这里已经有一个编译好了的,如果谁要可以给我发信,我发给你,这是我的邮箱:lichin@eyou.com,不过不要忘了gzip -d fly.gz ,chmod 755 fly ,mv fly /usr/local/bin一下
下面执行:
cd /usr/local
tar -xvf /tmp/pwebstats-1.3.8.tar
mv pwebstats-1.3.8 pwebstats
cd pwebstats
vi pwebstats
将#!/usr/local/bin/perl
改为#!/usr/bin/perl---------------因为我的perl执行文件在这个路径下
保存,退出
mkdir /var/www/html/pwebstats
vi conf/squid-proxy.conf
Server_header:My_Proxy_Server-----这是分析报告网页的标题
logfile:/var/log/squid/access.log-------你的squid日志文件路径
outdir:/var/www/html/pwebstats-----报告输出目录,明白我们前面为什么在html下建立这个目录了吧
interval:daily----------输出的是日分析报告
fly_prog:/usr/local/bin/fly----------fly这个文件的路径
保存退出,rotate一下日志/usr/sbin/squid -k rotate
/usr/local/pwebstats/pwebstats -c
> /usr/local/pwebstats/conf/squid-proxy.conf
好了,现在你打入http://yourdomain/pwebstats就可以看到分析报告了
你也可以做成一个scripts,然后在crontab中设定每日统计一下
vi /root/squid.logrotate
#!/bin/bash
/usr/sbin/squid -k rotate
sync; sleep 5s
/usr/local/pwebstats/pwebstats
> -c /usr/local/pwebstats/conf/squid-proxy.conf
保存退出
chmod 744 /root/squid.logrotate
vi /etc/crontab
59 23 * * * root /root/squid.logrotate
保存退出,然后重启一下crond:/etc/init.d/crond reload
好,大功告成,现在已经能够使内网通过squid访问www,其他服务由nat来做,而且可以定时产生日志分析报告,告诉你的代理的流量状况
上述如果是用tar安装squid的话,一些命令可能有所不同,比如
squid start/your/path/squid RunCache
squid stop/your/path/squid -k shutdown
squid reload/your/path/squid -k reconfigure
具体的一些命令可以自己参考一下squid里的说明文件
|
还是采用iptables+squid实现透明代理好啦,具体的可以查看一下我发的文章
|
用iptables+squid吧! 肯定比win的好多了!
有些东西必须自己亲自动手作一边才会深刻的!!
有些东西必须自己亲自动手作一边才会深刻的!!
|
学习中,不知道squid可不可以象windows下面的SYGATE那样用单网卡模式实现共享上网?