- 论坛徽章:
- 0
|
LINUX做代理服务器,800个客户端,经常出现系统崩溃
说明:
1 我是根据我以前写的shell改的,主要是精简,去掉squid部分.
2 对于硬件方面我不是很了解,也就是是否需要用交换机才行,以及其他。
3 对于网络布局,你是否划分vlan我不清楚,以为我没有做过实际的测试,没有环境。
4 我假设你的网关是linux/redhat,两块网卡,外网有固定ip,内网带动所有机器上网。
5 对于先做防火墙规则,我的理解是它可以在nat之前用软件本身进行数据包过滤,也就是限制了流量,应该会有性能的影响,但这样不需要其它硬件,值得一试。
6 由于我在做nat时重新编译内核并加载了所有netfilter模块,因此某些功能模块不能用时,请确保加载相应模块。
7 我的源码是redhat7.3配套版本,没有打任何补丁。
8 对于性能,我相信用单一软件带动800应该没问题。因为platinum说windows都没问题,哈哈。
9 我的环境用相当于400-m的cpu+128M的内存带动50台没问题,而且做squid缓存。
10 我的环境是自己做的小系统,但同时跑busybox带的dhcpd和httpd。
11 规则简单了性能会提上去,先drop不要的packet是比较好的,主要是可以避免大量的病毒包占用网络资源。
echo 1 >; /proc/sys/net/ipv4/ip_forward
echo 0 >; /proc/sys/net/ipv4/icmp_echo_ignore_all
#取自 “bili”侠客
echo "1">;/proc/sys/net/ipv4/conf/eth1/proxy_arp
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
WAN_ETH=eth0
LAN_ETH= eth1
LAN_IP=192.168.0.0
LAN_MASK=255.255.0.0
#filter
iptables -F
iptables -X
iptables -Z
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
#NAT
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -N ETFIRE
iptables -A INPUT -j ETFIRE
iptables -A FORWARD -j ETFIRE
#ETFIRE--LOG
iptables -A ETFIRE -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packets died:"
#ETFIRE--LIMIT
iptables -A ETFIRE -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
iptables -A ETFIRE -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
iptables -A ETFIRE -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
#ETFIRE--DROP
#drop potential SQL Worm
iptables -A ETFIRE -p tcp --dport 1433 -j DROP
iptables -A ETFIRE -m state --state INVALID -j DROP
#ETFIRE--ACCEPT
iptables -A ETFIRE -i $WAN_ETH -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A ETFIRE -i $LAN_ETH -s $LAN_IP/$LAN_MASK -p tcp --dport 80 -j ACCEPT
#NAT
iptables -t nat -A POSTROUTING -o $WAN_ETH -s $LAN_IP/$LAN_MASK -j SNAT --to a.b.c.d |
|