图16-3 在其中一台虚拟机中添加一块新网卡
需要注意的是,这块新添加的网卡设备必须选择为桥接模式,否则这两台虚拟机都无法访问外网。按照表16-1配置这两台虚拟机的IP地址。
这样一来,我们就有了一台既能访问内网,又能访问外网的虚拟机了。一会儿需要把Squid服务程序部署在这台虚拟机上,然后让另外一台原本只能访问内网的虚拟机(即Squid客户端)通过Squid服务器进行代理上网,从而使得Squid客户端也能访问外部 网站。
另外,我们还需要检查Squid服务器是否已经可以成功访问外部网络。可以ping一个外网域名进行测试(手动按下Ctrl+c键停止)。
- [root@linuxprobe ~]# yum install squid
- Loaded plugins: langpacks, product-id, subscription-manager
- This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
- rhel | 4.1 kB 00:00
- Resolving Dependencies
- --> Running transaction check
- ---> Package squid.x86_64 7:3.3.8-11.el7 will be installed
- --> Processing Dependency: perl(DBI) for package: 7:squid-3.3.8-11.el7.x86_64
- --> Processing Dependency: perl(Digest::MD5) for package: 7:squid-3.3.8-11.el7.x86_64
- --> Processing Dependency: libecap.so.2()(64bit) for package: 7:squid-3.3.8-11.el7.x86_64
- --> Running transaction check
- ………………省略部分输出信息………………
- Installed:
- squid.x86_64 7:3.3.8-11.el7
- Dependency Installed:
- libecap.x86_64 0:0.2.0-8.el7
- perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
- perl-DBI.x86_64 0:1.627-4.el7
- perl-Data-Dumper.x86_64 0:2.145-3.el7
- perl-Digest.noarch 0:1.17-245.el7
- perl-Digest-MD5.x86_64 0:2.52-3.el7
- perl-IO-Compress.noarch 0:2.061-2.el7
- perl-Net-Daemon.noarch 0:0.48-5.el7
- perl-PlRPC.noarch 0:0.2020-14.el7
与之前配置过的服务程序大致类似,Squid服务程序的配置文件也是存放在/etc目录下一个以服务名称命名的目录中。表16-2罗列了一些常用的Squid服务程序配置参数,大家可以预先浏览一下。
表16-2 常用的Squid服务程序配置参数以及作用
参数 | 作用 |
http_port 3128 | 监听的端口号 |
cache_mem 64M | 内存缓冲区的大小 |
cache_dir ufs /var/spool/squid 2000 16 256 | 硬盘缓冲区的大小 |
cache_effective_user squid | 设置缓存的有效用户 |
cache_effective_group squid | 设置缓存的有效用户组 |
dns_nameservers IP地址 | 一般不设置,而是用服务器默认的DNS地址 |
cache_access_log /var/log/squid/access.log | 访问日志文件的保存路径 |
cache_log /var/log/squid/cache.log | 缓存日志文件的保存路径 |
visible_hostname linuxprobe.com | 设置Squid服务器的名称 |