Linux系统下配置squid代理服务器的过程详解
简单记录一下Squid透明代理服务器的配置
环境:VirtualBox + CentOS 60 + squid-314-1el6i686
0、检查squid是否默认安装,没有安装的先安装
代码如下:
[root@Slyar ~]# rpm -qa squid
squid-314-1el6i686
1、虚拟机添加双网卡,全部设置桥接,配置IP,eth0作为外网,eth1作为内网,注意配置文件里的网卡MAC地址要和设备匹配!
代码如下:
[root@Slyar ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
ONBOOT=yes
TYPE=Ethernet
HWADDR=08:00:27:BC:6A:0D
IPADDR=172171221
PREFIX=24
GATEWAY=172171254
DNS1=172165133
NAME="System eth0"
p[root@Slyar ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
ONBOOT=yes
TYPE=Ethernet
HWADDR=08:00:27:20:52:B2
IPADDR=1921681254
PREFIX=24
NAME="System eth1"
p[root@Slyar ~]# /etc/initd/network restart #重新启动网卡
配置之后无法上网的,注意用route命令看一下默认路由。建议eth1就不要设置网关了,省的麻烦,当然如果你愿意配置默认路由也没所谓。
2、配置squid及透明模式
代码如下:
[root@Slyar ~]# cp /etc/squid/squidconf /etc/squid/squidconfbak
[root@Slyar ~]# vim /etc/squid/squidconf
为了省事,我直接把下面这行改成 http_access allow all,读者可以自行修改允许范围。
代码如下:
# And finally deny all other access to this proxy
http_access deny all
切记一定要在配置文件最下方增加下面这条语句,否则squid无法启动!
代码如下:
visible_hostname localhost
如果你要使用透明模式,在端口后面增加关键字"transparent"。
不使用透明模式的话,这行不用改,进行第3步之后可以直接跳到第7步测试了。
代码如下:
# Squid normally listens to port 3128
http_port 3128 transparent
3、启动squid
代码如下:
[root@Slyar ~]# service squid restart
4、为透明代理配置iptables,设置转发
为了省事,直接创建一个shell脚本,开启网卡间流量交换,开启NAT,设置DNS转发,设置80端口流量全部转发到3128端口交给squid处理。
代码如下:
[root@Slyar ~]# vim squidsh #创建脚本文件
代码如下:
#!/bin/bash
echo "1" /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 172165133
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 19216810/24 --dport 80 -j REDIRECT --to-ports 3128
p[root@Slyar ~]# chmod o+x squidsh #给脚本执行权限
[root@Slyar ~]# /squidsh #启动脚本
5、将iptables指定保存到配置文件
代码如下:
[root@Slyar ~]# service iptables save
6、重新启动iptables
代码如下:
[root@Slyar ~]# service iptables restart
7、测试squid透明代理
客户端设置IP地址:1921681x/24
网关:1921681254
DNS服务器:1921681254
8、打开IE,不用设置代理(因为是透明代理),输入www如果能打开就成功。
9、补充非透明代理测试方法:打开IE - 工具 - Internet选项 - 连接 - 局域网设置 - 代理服务器,设置服务器IP为1921681254,端口3128,确定。
第一步:打开终端(快捷键是Ctrl+Alt+t),如果当前用户不是root用户,请输入命令“su”,然后输入root账户密码即可;
第二步:输入命令“apt-get update”,这一步是为了更新下载的数据源,如果不更新可能造成有几个后面的软件包无法下载;
第三步:输入命令“apt-get install vsftpd”完成安装vsftpd;
第四步:判断vsftp是否安装成功,输入命令“service vsftpd restart”重启vsftpd服务,如果他在运行状态说明安装成功;
第五步:新建“/home/uftp”目录作为用户主目录,输入命令“mkdir /home/uftp”回车 ,然后输入命令“ls /home”查看home目录下有uftp这个目录吗,如果有就是创建成功;
第六步:新建用户uftp并且设置密码,输入命令“useradd -d /home/uftp -s /bin/bash uftp”
回车,然后再输入命令“passwd uftp”回车,然后输入两次密码就设置ok了
第七步:使用vi修改配置文件/etc/vsftpdconf,输入命令“vi /etc/vsftpdconf”回车,
向文件中添加“userlist_deny=NO””userlist_enable=YES”, “userlist_file=/etc/allowed_users”,
“seccomp_sandbox=NO”,最后把文件中的“local_enable=YES”保存(如果提示无法保存,直接退出来,把读写和执行权限给这个文件,具体操作为:输入命令: “chmod 777 /etc/vsftpdconf”回车就可以了);
第八步:新建文件/etc/allowed_users,输入命令“vi /etc/allowed_users”,打开后再这个文件内写入“uftp”保存即可;《Linux就该这么学》
第九步:查看/etc/ftpusers文件(不能访问ftp服务用户清单)的内容,输入命令“vi /etc/ftpusers”回车,如果里面有uftp,就把他删除;
第十步:安装winscp软件,进行远程登录访问;下载直接在百度下载就行
linuxdns配置成功,io用不了?
您好,可能是您配置的zone文件出现了问题。
zone文件出现问题,并不且影响DNS的正常启动。
您可以从启动log里确认是否是此问题。1检查配置文件
2你本地的/etc/resolve里面是否指向你本机的DNS服务地址
3/etc/hosts文件里面是否正常哈哈
UbuntuLinux中如何指定DNS服务器的地址?
配置dns服务器ubuntu的dns服务器信息,放在/etc/resolvconf中,添加dns服务器地址,如20211212553,则在上述文件中加入nameserver20211212553保存退出重启下网络服务/etc/initd/networkingrestart
Linux常用网络配置文件/etc/resolvconf配置DNS客户?
文件/etc/resolvconf配置DNS客户,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件:nameserver20210344150nameserver8888searchhuawei-3comcom合法的参数及其意义如下:nameserver表明DNS服务器的IP地址,可以有很多行的nameserver,每一个带一个IP地址。在查询时就按nameserver在本文件中的顺序进行,且只有当第一个nameserver没有反应时才查询下面的nameserverdomain声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使,用删除所有在第一个点()前面的内容。search它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。domain和search不能共存;如果同时存在,后面出现的将会被使用。sortlist允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。RedHat中没有提供缺省的/etc/resolvconf文件,它的内容是根据在安装时给出的选项动态创建的。
怎样在linux上使用BIND建立DNS服务器?
1、安装DNS服务器组件:安装bindyuminstall-ybindbind-chrootbind-utils
2、编辑DNS主配置文件:vi/etc/namedconf修改主配置文件
3、接着修改namedrfc1912zones文件,vi/etc/namedrfc1912zones
4、添加设置DNS正向解析:修改zone配置文件,正向解析:cd/var/named/cpnamedlocalhostszlptcnzoneviszlptcnzone(要和主配置文件里面定义的zone文件名一致)
5、修改zone配置文件,反向解析:cd/var/named/cpnamedlocalhost32168192zonevi0168192zone(要和主配置文件里面定义的zone文件名一致)
6、更改防火墙设置和selinux设置:Getenforce(查看selinux是否开启)setenforce0vi/etc/sysconfig/iptables#配置防火墙端口-AINPUT-mstate--stateNEW-mtcp-ptcp--dport53-jACCEPT-AINPUT-mstate--stateNEW-mudp-pudp--dport53-jACCEPT-AINPUT-mstate--stateNEW-mtcp-ptcp--dport953-jACCEPTserviceiptablesrestart#重启防火墙,使规则生效
7、启动DNS服(注意DNS服务名称在linux是叫做bind):servicenamedstart
8、测试检测域信息是否正常(重要):检查之前先看下配置文件有没有读取权限ll/var/named(如果没有读取全线,chmod+r/var/named/即可)
9、检查bind文件配置过程中容易出错:以下命令用以检查bind配置文件及zone文件语法named-checkconf/etc/namedconfnamed-checkzoneszlptcn/var/named/szlptcnzone
10、启动重启DNS服务,查看服务状态:servicenamedrestartservicenetworkrestart用户端测试解析,通过nslookup进行测试。
答案:D
/etc/resolvconf它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。
resolvconf的关键字主要有四个,分别是:
nameserver //定义DNS服务器的IP地址
domain //定义本地域名
search //定义域名的搜索列表
sortlist //对返回的域名进行排序
A/B选项干扰项。
Apache的主配置文件:/etc/httpd/conf/httpdconf
在本文中,让我们讨论如何设置 tftpboot,包括安装必要的软件包,以及 tftpboot 配置。
TFTP 引导服务主要用于在您没有物理访问权限的远程计算机上执行操作系统安装。为了成功执行操作系统安装,应该有一种重新启动远程服务器的方法 - 使用wakeonlan或手动重新启动它或其他方式。
在这些情况下,您可以相应地设置 tftpboot 服务,并且可以远程完成操作系统安装(您需要拥有 autoyast 配置文件来自动执行操作系统安装步骤)。
本文介绍了 64 位架构中的 SLES10-SP3 的分步过程。但是,这些步骤与任何其他 Linux 发行版非常相似。
需要为 tftpboot 设置安装以下软件包。
安装 dhcp 服务器服务的软件包:
安装 syslinux 包后,会在 /usr/share/pxelinux/ 目录下创建 pxelinux0 文件。这是在客户端机器上加载安装内核和 initrd 映像所必需的。
验证软件包是否已成功安装。
从您各自的 Linux 发行版的存储库中下载适当的 tftpserver。
在根目录( / )下创建 tftpboot 目录,如下所示。
安装 syslinux 软件包后,PXE Linux 映像将可用。将其复制到 /tftpboot 路径,如下所示。
让我们假设我们要在远程服务器上安装 SLES10 SP3 Linux 发行版。如果您有 SUSE10-SP3 DVD,请将其插入驱动器或安装您拥有的 ISO 映像。在这里,iso 映像已按如下方式挂载:
请参阅我们之前关于如何挂载和查看 ISO 文件的文章。
将 initrd 复制到 tftpboot 目录,如下所示。
在 /tftpboot 下创建目录 pxelinuxcfg 并为客户端定义 pxe 引导定义。
以下选项用于,
根据上面的条目,nfs 安装模式用于提供安装 RPM 和配置文件。因此,在导出列表中使用 /tftpboot 目录在这台机器上设置 nfs。您可以在 autoyast 配置文件中添加“autoyast”选项以自动执行操作系统安装步骤,否则您需要手动运行安装步骤。
将nobody:nobody 分配给/tftpboot 目录。
修改 /etc/dhcpdconf 如下所示。
在 /etc/syslinux/dhcpd 中指定接口以侦听来自客户端的 dhcp 请求。
在这里,这台机器在 eth1 设备上的 ip 地址为 1921681101。因此,如上所示,为 DHCPD_INTERFACE 指定 eth1。
修改 /etc/xinetdd/tftp 文件以反映以下内容。默认情况下,禁用参数的值为“yes”,请确保将其修改为“no”,并且需要将 server_args 条目更改为 -s /tftpboot。
无需修改 etc/xinetdconf 文件。使用 xinetdconf 文件中指定的默认值。
重新启动这些服务,如下所示。
重启nfs服务后,可以通过以下命令查看导出的目录列表(/tftpboot),
最后,tftpboot 设置已准备就绪,现在可以在 BIOS 设置中将第一个引导设备更改为“网络”后引导客户端计算机。
如果您遇到任何 tftp 错误,您可以通过 tftpd 服务检索一些文件来进行故障排除。
从 tftpserver 检索一些文件以确保 tftp 服务使用 tftp 客户端正常工作。让我们假设 sampletxt 文件存在于 /tftpboot 目录下。
它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征:
非常高的安全性需求
带宽限制
良好的可伸缩性
创建虚拟用户的可能性
分配虚拟IP地址的可能性
一、vsftpd的启动
#service vsftpd start
如果允许用户匿名访问,需创建用户ftp和目录/var/ftp
# mkdir /var/ftp
# useradd –d /var/ftp ftp
二、vsftpd的配置
Vsftpd的配置文件存放在/etc/vsftpd/vsftpdconf 我们可根据实际数要对如下信息进行配置:
1 连接选项
☆监听地址和控制端口
(1) listen_address=ip address
定义主机在哪个IP 地址上监听FTP请求。即在哪个IP地址上提供FTP服务。
(2) listen_port=port_value
指定FTP服务器监听的端口号。默认值为21。
2 性能与负载控制
☆超时选项
(1) idle_session_timeout=
空闲用户会话的超时时间,若是超过这段时间没有数据的传送或是指令的输入,则会被迫断线。默认值是300s
(2) accept_timeout=numerical value
接受建立联机的超时设定。默认值为60s
☆负载选项
(1) max_clients= numerical value
定义FTP服务器最大的兵法连接数。当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。
(2) max_per_ip= numerical value
定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将会影响到网际快车、迅雷之类的多线程下载软件。默认值为0,表示不限制。
(3) anon_max_rate=value
设定匿名用户的最大数据传输速度,以B/s为单位。默认无。
(4) local_max_rate=value
设定用户的最大数据传输速度。以B/s为单位。默认无。此选项对所有的用户都生效。
3 用户选项
vsftpd的用户分为3类:匿名用户、本地用户(local user)及虚拟用户(guest)
☆ 匿名用户
(1) anonymous_enable=YES|NO
控制是否允许匿名用户登录
(2) ftp_username=
匿名用户使用的系统用户名。默认情况下,值为ftp
(3) no_anon_password= YES|NO
控制匿名用户登录时是否需要密码。
(4) anon_root=
设定匿名用户的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/
(5) anon_world_readable_only= YES|NO
控制是否只允许匿名用户下载可阅读的文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。
(6) anon_upload_enable= YES|NO
控制是否允许匿名用户上传文件。除了这个参数外,匿名用户要能上传文件,还需要两个条件,write_enable参数为YES;在文件系统上,FTP匿名用户对某个目录有写权限。
(7) anon_mkdir_wirte_enable= YES|NO
控制是否允许匿名用户创建新目录。在文件系统上,FTP匿名用户必须对新目录的上层目录拥有写权限。
(8) anon_other_write_enbale= YES|NO
控制匿名用户是否拥有除了上传和新建目录之外的`其他权限。如删除、更名等。
(9) chown_uploads= YES|NO
是否修改匿名用户所上传文件的所有权。YES,匿名用户上传得文件所有权改为另一个不同的用户所有,用户由chown_username参数指定。
(10) chown_username=whoever
指定拥有匿名用户上传文件所有权的用户。
☆本地用户
(1) local_enable= YES|NO
控制vsftpd所在的系统的用户是否可以登录vsftpd。
(2) local_root=
定义本地用户的根目录。当本地用户登录时,将被更换到此目录下。
☆虚拟用户
(1) guest_enable= YES|NO
启动此功能将所有匿名登入者都视为guest
(2) guest_username=
定义vsftpd的guest用户在系统中的用户名。
4 安全措施
☆用户登录控制
(1) /etc/vsftpdftpusers
Vsftpd禁止列在此文件中的用户登录FTP服务器。此机制是默认设置的。
(2) userlist_enable= YES|NO
此选项激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。
(3) userlist_file=/etc/vsftpduser_list
指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpduser_list
(4) userlist_deny= YES|NO
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。userlist_enable选项启动后才能生效。默认值为YES,禁止文中的用户登录,同时不向这些用户发出输入口令的指令。NO,只允许在文中的用户登录FTP服务器。
☆目录访问控制
(1) chroot_list_enable= YES|NO
锁定某些用户在自己的目录中,而不可以转到系统的其他目录。
(2) chroot_list_file=/etc/vsftpd/chroot_list
指定被锁定在主目录的用户的列表文件。
(3) chroot_local_users= YES|NO
将本地用户锁定在主目中。
单机下Linux下部署PHP环境
说白了就是在Linux系统上安装apche或者nginx和mysql数据库以及php运行环境
这些都可以在网上单独下载安装包去安装
但是需要自己去一个一个下载安装设置调试等
傻瓜式的有lnmp和lamp一键安装包
大多是基于命令行模式
如果是需要图形化的
则推荐宝塔和wdcp等图形化操作面板
几乎是按照Windows的那种点几下安装
通过直接上传或者ftp把php代码传到服务器上
域名解析好即可访问了
另外现在推荐php72以上+mysql57或者80组合
效率比老版本又更上一层楼
Linux下常见的FTP服务器组件有哪些?
Linux下常见的FTP服务器组件根本配置性大概可以分为三类:弱、中等、高。
功能比较简单的有ftpd和oftpd,前者与ftp客户端工具ftp类似,只有标准的功能,此外支持SSL。oftpd是一款非常小巧的匿名ftp服务器。
可配制型居中的主要是vsftpd和pure-ftpd。这两个侧重于安全、速度和轻量级,在大型ftp服务器上用得比较多,尤其是vsftpd,这类服务器对用户认证和权限控制比较简单,更注重安全型和速度。
配置性强的要数proftpd、wu-ftpd和glftpd。
suselinux怎么安装ftp?
有几种方法:
1命令的方法:ps-aux|grepftpdnetstat-na|grep21看看有没有启动。
2在界面模式下查看ftp服务有没有开启,比如suseLinux的,在yast中就能看到3你用ftp软件看看能否连到系统。这方法缺点明显,要是配置错了也连不上,呵呵。建议采用第一种,直接用命令查看。
ftp连接命令?
很高兴本问题!此观点仅供参考!如有纰漏,请尽情斧正!希望可以帮助你!记得上中学时代,就对
连接ftp服务器。
格式:ftp
(1)在Linux命令行下输入:
(2)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。
linuxftp怎么上传目录?
可以,要开放目录的w也就是写权限,还有开启vsftpd的upload权限,还要把一个user_mkdir_write_enable=yes,这个user可以是anon代表匿名然后重启服务生效,这个配置很多的,网上搜个文档会很详细说明的,绝对可以,
ftp下载命令?
1连接ftp服务器
ftp下载命令:格式:ftp
a)在linux命令行下输入:
ftp19216811
b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。
2下载文件
下载文件通常用get和mget这两条命令。
a)get
格式:get
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1htm,则
ftp>get/usr/your/1htm1htm(回车)
b)mget
格式:mget
从远端主机接收一批文件至本地主机。
如要获取服务器上/usr/your/下的所有文件,则ftp>cd/usr/your/
ftp>mget(回车)
0条评论