linux网络技术总结_linux网络编程总结
linux网络技术总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“linux网络编程总结”。
#Groupadd chen #groupadd –g 5000 chen1 存放在/etc/group中
#useradd chen 2#useradd –u 600 –g chen1 –d /home/chen3 yonghu 同时在/etc/pawd/和etc/shadow添加。#userdel –r chen1主目录#groupdel chen2.禁止用户登录:#pawd –l chen1-u恢复登录 –d删除用户#usermod –u 601 chen1 xiugai 主目录等 #id chen1 显示用户的UID和 GID信息。
文件属性#chown chen hello.txt改变文件的属主 #chown –R chen1 mydir递归改变目录的属主。#chgrpgroup1 hello.txt 改变的是文件的属组。Chmodg-w,o=x或者ugo=r。
压缩与打包
$tar-cvfmyetc.tar/ect将目录/etc打包为一个myetc.tar的文档
$tar –z(Z,j)cvfmyetc.tar.gz/ect将目录/etc打包并压缩为一个myetc.tar.gz(.Z ,.bz2)的文档
$tar-zxvfmyetc.tar.gz-C/tmp解压缩还原,如果没有指定路径,则在当前目录下
$gzipmyetc.tar将文件myetc.tar压缩为myetc.tar.gz
$gunzipmyetc.tar.gz将文件myetc.tar.gz解压缩为myetc.tar
挂载与卸载
#mount-tiso9660/dev/cdrom/mnt/cdrom挂载光盘:t是类型,设备文件,最后为挂载点
#mount-tvfat/dev/sda1/mnt/myusb将文件系统类型为vfat的优盘挂载到/mnt/myusb
#df查看是否挂载
#umount/mnt/cdrom卸载光盘文件系统
网卡配置命令:
#ifconfig显示网卡参数的配置情况
#ifconfig eth0 10.255.8.6 netmask 255.255.0.0
#ifconfig eth0 down/up
在根本上:/etc/sysconfig/network-scripts/ifcfg-eth0 里面的 ipaddre=;service network restart;Rpm –ivh(--force;--nodeps)……….。rpm
Crontab –l;crontab –e;(进入crontab)编辑环境
#!/bin/shecho”please input ip nums:”read numsecho” Starting profile execution, please wait…”for(i=1;i
#!/bin/shfor(i=1;i
两种启动方式:#service httpd start 第二种:apachectl start.开机自动启动:chkconfig httpd on 检查运行状态:service httpd status
VSFTPD特点:安全性高;稳定性好;速度很快;匿名FTP更加简单的配置;支持基于ip的虚拟FTP服务器;支持虚拟用户,而每个用户可具有独立配置;支持PAM认证方式;支持带宽限制。
Samba服务 是windows和linux系统跨平台的共享文件和打印的软件,包括smbd进程和nmbd
Service smb startps-aux|greps(n)mbd配置文件/etc/samba/smb.conf包括全局设置部分共享定义部分
Samba1、用户主目录共享
[homes]
Comment=Home Directories设置注释
Writeable=yes对能够访问主目录的用户开放写权限
2、所有用户都可以访问的共享
[public]
Path=/home/samba该共享所对应的实际路径Browseable=no每个用户只能访问自己的主目录
Public=yes设置对所有用户开放
Read only=yes默认情况下,对访问该目录的用户设置为只读权限
Write list=@staff设置只有staff组中的用户对该共享才有写权限,“@”表示组
Iptable 是一款linux下著名的防火墙软件真正的是netfilter,Iptables只能算是防火墙与用户之间的接口,即netfilter运行在内核态,而iptables运行在用户态,用户通过iptables命令来调用netfiler来实现防火墙的功能,这就是linux防火墙的 基本架构
Filter过滤表(input链forword链output链)nat网络地址转换表(prerouting链output链postrouting链)mangle拆分表(prerouting链output,input,forword,postrouting)
#echo “1”> /proc/sys/net/ipv4/ip_forwardip数据包转发功能每次开机都需要的话:修改/etc/sysctl.confnet.ipv4_forward=1#sysctl-p 实时修改内核运行时的参数
1、iptables-AINPUT-jACCEPT 向filter表的INPUT链中追加一条规则,功能是接受源地址为任意、目标地址为防火墙本身的所有数据包。
2、Iptables-DINPUT-ptcp--dport80-jDROP从filter表的INPUT链中删除这样的一条规则,功能是拒绝协议为tcp、目的端口为80的数据包进入本机
3、Iptables-DINPUT1删除INPUT链中编号为1的规则
4、Iptables-IINPUT-ptcp--dport80-jaccept从filter表的INPUT链中插入这样的一条规则,功能是接受协议为tcp、目的端口为80的数据包进入本机
5、Iptables-LINPUT用来列出指定链中的规则
6、Iptables-FINPUT用来清空filter表中INPUT链中所有的规则
7、iptables-tnat-F8、iptables-ZINPUT将指定链的计数器清零
9、iptables –NMYCHAIN自定义新链
10、Iptables-XMYCHAIN用来删除指定MYCHAIN的链
11、iptables –P INPUT DROP默认被拒绝
12、iptables –E 321 new321 将自定义链重命名
Iptables 语法格式中的参数
1、iptables-AINPUT-ptcp-jACCEPT-p是用来匹配协议的本条功能:是接受协议为tcp的数据包进入本机,-p all用来匹配所有类型的协议
2、iptables-AINPUT-pucp--sport 53-jACCEPT--sport用来指定要匹配的端口
本条功能是:接受协议为ucp,源端口为53的数据包进入本机--sport 20:8020~80!反匹配
3、iptables-AINPUT-ptcp--dport 80-jACCEPT--dport用来指定要匹配的端口
本条功能是:接受协议为tcp,目标端口为80的数据包进入本机
4、iptables-AINPUT-s10.255.8.6-jACCEPT用来指定要匹配的源IP地址数据包进入本机。
5、iptables-AINPUT-d10.255.8.6-jACCEPT-d指定要匹配的目的IP地址。
6、iptables-AINPUT-ieth0-jACCEPT-i用来指定数据包进入的网卡 接受从网卡eth0进入本机的数据包
7、iptables-AFORWARD-oeth0-jACCEPT-o用来指定数据包出去的网卡
8、iptable –A INPUT –p tcp –syn –jACCEPT匹配发起建立tcp连接的数据包
9、iptables-AINPUT-ptcp-mmultiport--source-port10,21,53,80 110-jACCEPT--source-port 用来匹配多个不连续的源端口号接受tcp协议且源端口号为的数据包进入本机
10、iptables-AINPUT-ptcp-mmultiport--destination-port10,21,53,80-jACCEPT--destination-port 用来匹配多个不连续的目的端口号
11、iptables-AINPUT-ptcp-mmultiport--port22,80-jACCEPT用来匹配源端口号和目的端口号同为22或同为80的数据包进入本机
12、iptables –AINPUT-p icmp--icmp-type8-j ACCEPT接受icmp协议且类型编号为8的数据包进入本机
13、iptables-AINPUT-mlimit--limit3/m--limit-burst 5-jACCEPT在单位时间内通过五个数据包之后,立刻触发每分钟允许通过3个数据包的流量限制。
利用iptables充当防火墙,保护内网主机:
#!/bin/sh
Modprobe ip_conntrack_ftp把ip_conntrack_ftp模块载入内核,实现对Ftp会话跟踪
Modprobe ip_nat_ftp 把ip_nat_ftp模块载入内核实现nat和ftp功能
Echo 1 > /proc/sys/net/ipv4/ip_forward激活路由转发功能
Iptables –F
Iptables –t nat –F
Iptables –tmangle –F清空三张表
Iptables –P FORWARD DROPFORWARD链默认策略为DROP
Iptables –A FORWARD –i eth3 –p tcp –dport 80 –j ACCEPT
Iptables –A FORWARD –i eth2 –p tcp –dport 80 –j ACCEPT
Iptables –A FORWARD –i eth3 –p tcp –dport 21 –j ACCEPT
Iptables –A FORWARD-m state RELATED,ESTABLISHED –j ACCEPT开放内网ftp服务的数据连接的被动传输模式
Iptables –A FORWARD–p tcp –dport 22 –j ACCEPT开放内网服务器的h服务
Route add default gw 192168.2.1或/etc/sysconfig/networkGATEWAY=192.168.2.1#service network restart
利用iptables实现SNAT示例:
#!/bin/sh
Modrobe ip_nat_ftp
Iptables-F
Echo“1” > /proc/sys/nat/ipv4/ip_froward
Iptables-tnat-F清空nat表中的规则
Iptables-PFORWARD ACCEPT 设置FORWARD的默认处理策略为ACCEPT
Iptables-AFORWARD-ieth3-d192.168.2.0/24-ptcp--syn-jDORP
Iptables-tnat-APOSTROUTING-s192.168.2.0/24-oeth3-jSNAT--to-source202.204.235.100做SNAT,当位于内网段192.168.2.0/24转换成202.240.235.100
执行脚本
./snat.sh
Ifconfig eth3:1 202.204.235.100 netmask 255.255.255.0
Squid 支持http ftp l1、http_port 3128(8080)设置squid监听的端口号为31282、icp_port3130设置squid服务器之间通信的端口号为31303、cache_mem 256Msquid服务器运行时占用内存的大小
4、cache_swap_low 90cache_swap_high 95缓存使用
5、Maximum_object_size4096KB设置squid最大缓存的对象为4MB6、maximum_object_size_in_memory 8K 设置最大保存在内存中的对象为8K7、cache_dir ufs /var/spool/squid 100 16 256缓存目录
8、cache_acce_log /var/log/squid/acce.log9、Aclmynetsrc192.168.2.0/24将源ip地址为192.168.2.0/24的网段命名为mynet10、Acl mydomain src(dst)domain.baidu.com11、Aclthebadurlurl_regex-i^http:// 将以http:// 开头的url命名为thebadurl12、Acltheimagefileurl-regex-i.gif$将url路径中以.gif结尾的文件命名为theimagefile13、AclmyworktimetimeMTWHF08:00-17:00将周一到周五8:00到17:00命名为myworktimeMTWHFAS14、acl myport port 8015、http_acce allow mynet设置允许列表mynet中定义的IP地址可以访问本代理服务器
16、http_reply_acce allow all 设置针对列表all中所有客户机请求的答复进入本代理服务器
一.Linux下安装mysql步骤如下:
cd /usr/local/src //进入此放软件包的目录
groupadd mysql // 建立mysql组
useradd mysql-g mysql //建立mysql用户并且加入到mysql组中
tar-zxvf mysql5.0.41.tar.gz //解压缩
cd mysql5.0.41 //进入解开包的目录
./configure检测环境
make编译
make install安装
二.tomcat服务器安装
在安装Tomcat 之前需要安装j2sdk(Java 2 Software Development Kit),也就
是JDK1、安装JDK 的步骤如下:
1)下载j2sdk,如jdk-6u1-linux-i586-rpm.bin
2)在终端中转到jdk-6u1-linux-i586-rpm.bin 所在的目录,输入命令chmod +755
jdk-6u1-linux-i586-rpm.bin,添加执行的权限。
3)执行命令./jdk-6u1-linux-i586-rpm.bin,生成jdk-6u1-linux-i586.rpm 的文
件。
4)执行命令chmod +755 jdk-6u1-linux-i586.rpm,给jdk-6u1-linux-i586.rpm
添加执行的权限。
5)执行命令rpm –ivh jdk-6u1-linux-i586.rpm ,安装jdk。
6)安装界面会出现授权协议,按Enter 键接受,把jdk 安装在/usr/java/jdk
1.6.0_01。
7)设置环境变量,在/etc/profile 中加入如下内容(可以使用vi 进行编辑profile):
JAVA_HOME=/usr/java/jdk1.6.0_01
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
8)在终端执行命令java –version,jdk 的版本为jdk1.6.0_01 则表示jdk 已成功安
装。
2、安装Tomcat
1)下载apache-tomcat-6.0.10.tar.gz
2)tar-zxvf apache-tomcat-6.0.10.tar.gz //解压
3)cp-R apache-tomcat-6.0.10 /usr/local/tomcat //拷贝apache-tomcat-6.0.10到/usr/local/下并重命名为tomcat
4)/usr/local/tomcat/bin/startup.sh //启动tomcat
显示Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TEMDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/java/jdk1.6.0_01
3.1.2安装JDK
//修改文件jdk-6u3-linux-i586-rpm.bin的权限,并执行
[root@localhost root]# chmod 755 jdk-6u3-linux-i586-rpm.bin
[root@localhost root]#./jdk-6u3-linux-i586-rpm.bin
//这是再查看/root会多出一个jdk-6u3-linux-i586.rpm,安装这个包
[root@localhost root]# rpm-ivh jdk-6u3-linux-i586.rpm
//安装完成,可以在JDK的安装目录/usr/java下看到jdk1.6.0_03目录,进入/usr/java,做个jdk的目录连接到jdk1.6.0_03
[root@localhost root]# cd /usr/java
[root@localhost java]# ln-s jdk1.6.0_03/ jdk
书上的那两个编成题
#!/bin/sh
N=1
number=$1
if [ $number-lt $N ];then
exit 0
fi
while [ $N-le $number ]
do
ifconfig-s eth0:${N} 192.168.1.${N}/24
N=$[N+1]
done
A)创建文件/root/user100.sh
# > /root/user100.sh
(B)编写程序
# vi/root/user100.sh
# bin/bash
i=1
path=/tmp
while [ $i-ne 101 ]
do
if!grep“^user$i:”/etc/pawd > /dev/null 2>&1
then
useradduser$i
fi
if [!-d$path/dir$i ]
then
cd $path
mkdir dir$i
chownuser$i.user$idir$i
chmod751dir$i
fi
i=$[i+1]
done
(C)修改user100.sh的权限
# cd
# chmod+xuser100.sh
(D)运行程序
#./user100.sh
(E)查看结果
# ll/tmp
# cat/etc/pawd| grep “^user”
以正規表示法的方式控制:
url_regex [i] 163.com news bbs
urlpath_regex [i].exe$.gif$.dat$
# 允许上网时间段
acl accept_time time MTWHF 11:30-13:00
http_acce allow accept_time
#禁止 qq 采用封QQ服务器IP的方法
acl qqip dst 218.18.95.165 219.133.38.4 219.133.38.132 218.18.95.221
http_acce deny qqip
#禁止 msn 根据MSN启动的特征封掉
acl msnmeenger url_regex-i gateway.dll
http_acce deny msnmeenger
#禁止popo
acl popo dstdomain lbs.popo.163.com popme.163.com
acl popo1 url_regex-i popme.163.com
http_acce deny popo
http_acce deny popo1
#禁止新浪UC
acl sinauc url_regex-i tcpconn.51uc.com
http_acce deny sinauc
# 限制用户下载文件的类型
acl download urlpath_regex-i.mp3$.exe$.avi$.rar$.rvmb$.rm$.torrent$ /announce? #.torrent$ /announce? 为bt下载对应特征.(-i参数忽略大小写如:mp3=MP3)
http_acce deny download
# 屏蔽某些含有特定关键词的站点:
acl refused_sites url_regex-i sex bt girl
也可把要禁止的站点写到文档中方便管理如下
acl refused_sites url_regex “/etc/squid/refused_sites.txt” http_acce deny fefused_sites