当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪iptables实现路由转发的例子      使用iptables实现路由转发,配置比较简单,供初学者参考。 一、SNAT应用于局域网共享上网的接入 1.开启网关服务器的路由转发   代码如下: #vi /etc/sysctl.conf net.ipv4.ip_forward = 1 #sysctl -p 2.设.........
    ▪linux下查看网络连接数的方法介绍      前言 经常检查apache的连接数,同样会发现很多无用的time_wait连接。 有人说这是正常的,是因为一个请求中途中断造成的; 还有人说微软的IE连接时产生的Time_wait会比用Firefox连接时多。 个人.........
    ▪centos网络接口配置文件ifcfg-eth范例          centos网络接口配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0是默认的第一个网络接口.........

[1]iptables实现路由转发的例子
    来源: 互联网  发布时间: 2013-12-24

使用iptables实现路由转发,配置比较简单,供初学者参考。

一、SNAT应用于局域网共享上网的接入
1.开启网关服务器的路由转发
 

代码如下:
#vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
#sysctl -p

2.设置转发脚本
 

代码如下:
#vi nat_iptables.sh
#!/bin/bash
iptables -F
iptables -t nat -A POSTROUTING -s 192.168.2.0/24   -j SNAT --to-source 192.168.2.119

二、DNAT应用于外面访问内部服务器,网关做转发
1.开启网关服务器的路由转发
 

代码如下:
#vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
#sysctl -p

2.设置转发脚本
 

代码如下:
#vi nat_iptables.sh
#!/bin/bash
iptables -F
iptables -t nat -A PREROUTING -d 公网IP   -j DNAT --to-destination 内部私有IP

您可能感兴趣的文章:
iptables 日志维护的方法分享
解析 iptables常用规则设置
iptables防火墙之limit限制方法分享
linux下关闭iptables防火墙及selinux的方法
使用iptables屏蔽IP段的方法举例
配置 iptables 静态防火墙
iptables防火墙配置一例
iptables配置实例详解
一个实用的iptables shell脚本
iptables实例收藏
linux iptables 开启关闭端口的方法
linux iptables入门教程


    
[2]linux下查看网络连接数的方法介绍
    来源: 互联网  发布时间: 2013-12-24

前言

经常检查apache的连接数,同样会发现很多无用的time_wait连接。
有人说这是正常的,是因为一个请求中途中断造成的;
还有人说微软的IE连接时产生的Time_wait会比用Firefox连接时多。
个人认为有一定的Time_wait是正常的,如果超过了连接数的比例就不是很正常,此时就需要找办法解决一下了。
  
检查net.ipv4.tcp_tw当前值,将当前的值更改为1分钟:
[root@aaa1 ~]# sysctl -a|grep net.ipv4.tcp_tw
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_tw_recycle = 0
[root@aaa1 ~]# vi /etc/sysctl.conf
增加或修改net.ipv4.tcp_tw值:
 

代码如下:
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

使内核参数生效:
[root@aaa1 ~]# sysctl -p

[root@aaa1 ~]# sysctl -a|grep net.ipv4.tcp_tw
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

设置这两个参数: reuse是表示是否允许重新应用处于TIME-WAIT状态的socket用于新的TCP连接; recyse是加速TIME-WAIT sockets回收

用netstat再观察正常
这里解决问题的关键是如何能够重复利用time_wait的值,我们可以设置时检查一下time和wait的值
#sysctl -a | grep time | grep wait
 

代码如下:
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120

结合DDOS和TIME_WAIT过多,建议增加如下参数设置:
 

代码如下:
# by supernic
# Use TCP syncookies when needed
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries=3
net.ipv4.tcp_syn_retries=3
net.ipv4.tcp_max_syn_backlog=2048
# Enable TCP window scaling
net.ipv4.tcp_window_scaling: = 1
# Increase TCP max buffer size
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# Increase Linux autotuning TCP buffer limits
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# Increase number of ports available
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 5000 65000

查看当前的连接数状况可以使用:
netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n
返回结果如下
      1 established
      1 State
      2 LAST_ACK
      4 CLOSING
      4 FIN_WAIT2
      9 LISTEN
     17 FIN_WAIT1
     18 SYN_RECV
     27 ESTABLISHED
    811 TIME_WAIT

上面的命令可以帮助分析哪种tcp状态数量异常

其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。
返回的结果非常简洁直接,就是句子有点长。
 

代码如下:
netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n
 

可以按IP连接数列出当前状况,发现异常的,可以封掉这个IP。


    
[3]centos网络接口配置文件ifcfg-eth范例
    来源: 互联网  发布时间: 2013-12-24

    centos网络接口配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3......(这里面的文件是相当重要的,涉及到网络能否正常工作)。

设定形式:设定值=值

设定项目项目如下:
DEVICE        接口名(设备,网卡)
USERCTL      [yes|no](非root用户是否可以控制该设备)
BOOTPROTO    IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
HWADDR        MAC地址  
ONBOOT        系统启动的时候网络接口是否有效(yes/no)  
TYPE        网络类型(通常是Ethemet)  
NETMASK        网络掩码  
IPADDR        IP地址  
IPV6INIT    IPV6是否有效(yes/no)  
GATEWAY        默认网关IP地址
BROADCAST     广播地址
NETWORK  网络地址

范例:
 

代码如下:
DEVICE=eth0       
BOOTPROTO=static       
BROADCAST=192.168.1.255       
HWADDR=00:0C:2x:6x:0x:xx       
IPADDR=192.168.1.23       
NETMASK=255.255.255.0       
NETWORK=192.168.1.0       
ONBOOT=yes       
TYPE=Ethernet

    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪shell脚本编程之case语句学习笔记 iis7站长之家
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3