博文

目前显示的是标签为“Linux”的博文

在CentOS 7上用Apache+PHP建立虚拟主机

默认的CentOS就自带了Apache,本篇主要是用系统自带的Apache来完成的 首先先新建一个配置文件 vim /etc/httpd/conf.d/site.conf 内容如下: <VirtualHost *:80> DocumentRoot /home/www ServerName siglud.com.cn     <Directory />         Require all granted         AllowOverride All         DirectoryIndex index.php index.htm     </Directory> </VirtualHost> 然后systemctl restart httpd 打开iptables的端口 iptables -I INPUT -p tcp --dport 80 -j ACCEPT /usr/libexec/iptables/iptables.init save 这个时候去访问大部分都会收到403了,原因在于selinux chcon -Rv --type=httpd_sys_content_t /home/www 如果这个时候报错 那么执行 chcon -R -h system_u:object_r:usr_t /home/www/ 之后再执行它就可以了

用iptables限制NAT下每IP的网速

iptables -I FORWARD -d 192.168.0.119 -j DROP iptables -I FORWARD -m limit -d 192.168.0.119 --limit 300/sec -j ACCEPT 意思是限制对应ip的数据包下载流量为每秒300个包,这个数量x mtu的值1500(1.5K),实际速度大概是450K/s iptables -I FORWARD -s 192.168.0.119 -j DROP iptables -I FORWARD -m limit -s 192.168.0.119 --limit 300/sec -j ACCEPT 同样的,这样可以限制上传速度 iptables -I FORWARD -p tcp -s 192.168.0.0/24 -m connlimit --connlimit-above 20 -j REJECT iptables -I INPUT -p tcp -s 192.168.0.0/24 -m connlimit --connlimit-above 20 -j REJECT 这样可以限制连接数

在CentOS 7上用Systemd建立shadowsocks自动启动服务

CentOS 7开始使用Systemd替代原有的init.d作为启动管理工具,原本以为很复杂,后来发现其实比init.d还要简单。 安装完shadowsocks-libenv之后: vim /etc/systemd/system/ss-redir.service 写入以下内容: [Unit] Description=Shadowsocks Redir Client After=network.target [Service] Type=forking PIDFile=/run/shadowsocks/redir.pid PermissionsStartOnly=true ExecStartPre=/bin/mkdir -p /run/shadowsocks ExecStartPre=/bin/chown nobody:nobody /run/shadowsocks ExecStart=/usr/local/bin/ss-redir -f /var/run/shadowsocks/redir.pid -c /usr/local/etc/ss-redir.json Restart=on-abort User=nobody Group=nobody UMask=0027 [Install] WantedBy=multi-user.target 然后运行 systemctl enable ss-redir.service 启用此服务的自动运行 开启服务:systemctl start ss-redir 查看状态 systemctl status ss-redir

在CentOS7上开启Samba匿名共享

CentOS中内置了Samba 4.1.1导致原有的将security设置为share直接允许匿名访问的方法失效,正确的做法是 vim /etc/samba/smb.conf security = user passdb backend = tdbsam map to guest = Bad User #增加这一句将所有认证失败的用户认为是guest [share]         path = /mnt/hdd1         comment= Test         browseable = yes         guest ok = yes         read only = no         writable = yes 然后是打开防火墙对应的端口,在打开防火墙之前,我先卸载掉CentOS 7自带的firewalld,用iptables来管理 systemctl stop firewalld systemctl mask firewalld 安装iptables的service管理程序 yum install iptables-services 用以下命令开关和重启iptables systemctl [stop|start|restart] iptables 打开几个必须的端口 iptables -I INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT iptables -I INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT iptables -I INPUT -m...

统计连接到某个端口的IP的数量

这个主要是Shadowsocks要用到,因为公车了之后经常会有各种的IP连上来 netstat -nat|grep -i "9527"|awk '{print $5}'|cut -d ":" -f1 |sort |uniq -c|sort -n

WZR-HP-AG300H安装OpenWRT和自动翻墙代理

图片
前两天在淘宝入手了一个2手的AG300H,是日产的中古货,比行货便宜了接近一半,比较超值,加上那惊人的128M内存,由衷的打动了我,于是入了一个开始准备折腾OpenWRT 寄过来的时候就刷好了DD-WRT,理论上这个时候去下载一个Factory升级包直接升级就能到OpenWRT了,但是我脑一抽,给升级到 官方的1.78版 了,这下无论选择退回到官方的1.77,还是选择升级到其他的版本的DDWRT,它统统报告说是不合法的Rom了 不得已,我选择使用TFTP来进行升级,这个方法 网上也都有 ,大致的操作流程如下: 修改本地IP到192.168.11.2(必须是这个IP,可以同时添加多个IP地址,Windows、Linux下都可以,不妨碍操作) 添加固定路由,arp -s 192.168.11.1  02:AA:BB:CC:DD:20 (必须是这个硬件地址,后面连接TTL的时候看路由器启动的命令行就明白为什么了,如果是Windows 7或7以上的话,命令有所不同,参看 这里  ——反正就是它禁用了arp命令,必须要改用netsh命令来完成) 下载你要升级的Rom的TFTP版本,DD-WRT的话,下载地址在 这里 ,如果是OpenWRT的话,下载地址在 这里 ,选择带tftp字样的下载链接。 如果是Linux下,首先安装tftp,yum install tftp、apt get install tftp……,然后拔掉路由器的电源,输入 tftp 192.168.11.1 verbose bin put xxxx(这是你下载的rom的名字) 然后你不要回车,开始接通你的路由器电源,盯着它开机,你会看到依次是红灯点亮、然后红灯灭一下然后所有的灯都亮了……这时候立刻回车,等着它提示完成 如果是在Windows下,如果是Win7,首先到控制面板、系统组件中安装TFTP组件,然后到命令行输入tftp -i 192.168.11.1 put xxxx(这是你下载的rom的名字) 然后也是一样的,不要回车,接通你的路由器电源,盯着它开机,你会看到依次是红灯点亮、然后红灯灭一下然后所有的灯都亮了……这时候立刻回车,等着它提示完成 提示上传完毕之后,等待10分钟左右(一定有这么长的时间,文件上传之后,系统会先解包,然后格式化所有扇区、写入操作系统,然...

在CentOS 6下安装M2Crypto

为了让shadowsocks能够支持更多的加密方式,必须要安装M2Crypto,不得不说,这个东西很麻烦 首先,需要安装依赖包 yum install gcc libgcc swig openssl openssl-devel python-devel 然后开始安装M2Crypto,这个东西也绝对不可以用pip装,基本上都是被坑的节奏 wget https://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.21.1.tar.gz --no-check-certificate tar zxvf M2Crypto-0.21.1.tar.gz cd M2Crypto-0.21.1 如果这个时候直接安装 python setup.py build 基本上就会报告那个”This openssl-devel package does not work your architecture?“了 其实它有提供fedora系统的专用安装包的,运行一下 ./fedora_setup.sh build ./fedora_setup.sh install 就可以了

Linux下添加Service并自动启动设置

添加服务的主要命令是chkconfig 可以先在系统中庸chkconfig命令列出所有的当前自动启动的项目 添加的方法为(以redis为例): vim /etc/init.d/redis 内容为: #!/bin/sh # # redis        Startup script for redis # # chkconfig: - 85 15 # processname: redis cd "/home/worker/redis-db/" case "$1" in     start)         /usr/local/bin/redis-server redis.conf         ;;     stop)         /usr/local/bin/redis-cli -p 1500 shutdown         ;;     *)         /usr/local/bin/redis-server redis.conf         ;; esac 几个注意的地方: chkconfig: - 85 15 这句 后面的85是启动优先级,15是关闭优先级,我没有在这里设置启动级别,所以打了- 后面的命令是解析参数值,我只增加了对start和stop命令的解析,如果没有参数,那么默认是start,这个其实是没有仔细的去写的,理论上还可以添加restart命令之类的,可以按照格式随意添加。 然后保存此命令文本,设置它为可运行: chmod +x redis 然后设置它为自动启动 chkconfig --level 3 redis on chkconfig --level 4 redis on chkconfig --level 5 redis on 启动等级的解释如下: 0 为停机,机器关闭。 1...

Debian摸索中

确实是在摸索中 昨天刚刚下载安装的最小化ISO,用的Vmware6安装的. 因为网络环境复杂,一开始就卡在了代理服务器的设置上面 因为无法使用代理,apt都无法使用 后来好不容易更改了apt的设置 在/etc/apt/apt.conf中加入了以下两行: Acquire::http::Proxy "http://用户名:密码@IP:端口/"; Acquire::ftp::Proxy "ftp://用户名:密码@IP:端口/"; 结果发现route设置有问题 在Windows下只需要简单的设置getway的问题在Linux下则必须要麻烦的使用route命令来完成了: route add default gw IP地址 结果到最后重启两次觉得不对劲...我不是最初安装的时候设置了IP和网关了么?为什么到现在又提示我不正确了? 跑到etc/network/interfaces下寻找结果,发现配置文件被我填写的时候写错了,把0写成了1...orz 完整的配置文件应该是: auto lo eth0 inface lo inet loopback allow-hotplug eth0 iface eth0 inet static address xxxxx netmask xxxxx broadcast xxxxxxx getway xxxxxx 之后发现一点使用上的小问题 就是默认使用的是sh而不是bash,默认用的vi而不是vim,让我很痛苦...orz 于是,再次修改配置文件: ~/.bashrc 修改其中的条目: export PS1='\u@\h:\w\$ ' alias vi='vim' alias ls='ls --color=auto -NF --show-control-chars' 同时顺手,把Debian变成中文版好了 修改~/.profile LANG=zh_CN.utf8 LANGUAGE=zh_CN.utf8 source ~/.bashrc