久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Linux 代理腳本,我見過最牛的腳本

 antyoung 2012-06-28

#iptables

本腳本環(huán)境為eth0外網(wǎng),eth1內(nèi)網(wǎng);
#!/bin/sh
#外網(wǎng)網(wǎng)卡
EXT_IF="eth0"
FW_IP="61.137.85.21"
#內(nèi)網(wǎng)網(wǎng)卡
INT_IF="eth1"
LAN_IP="192.168.0.1"
LAN_IP_RANGE="192.168.0.0/255.255.255.0"
#加閱模塊,一般已內(nèi)建
#Module loading.
#echo "modprobe modules"
#modprode ip_tables
#modprode ip_nat_ftp
#modprode ip_conntrack
#modprobe ip_conntrack_ftp
#啟用轉(zhuǎn)發(fā)(forward)功能
echo "enabling IP FORWARDING......"
echo "1" >; /proc/sys/net/ipv4/ip_forward
#規(guī)則初始化,設(shè)置默認(rèn)都為drop
echo "enabling iptables rules"
#reset the default policies in the tables
iptables -F
iptables -X
iptables -F -t mangle
iptables -X -t mangle
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
#set policies
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
###-----------------------------------------------------------------###
#過慮蠕蟲病毒
#444/445/69/135/139
###-----------------------------------------------------------------###
iptables -A FORWARD -p tcp --dport 4444 -j DROP
iptables -A FORWARD -p udp --dport 4444 -j DROP
iptables -A FORWARD -p tcp --dport 445 -j DROP
iptables -A FORWARD -p udp --dport 445 -j DROP
iptables -A FORWARD -p tcp --dport 69 -j DROP
iptables -A FORWARD -p udp --dport 69 -j DROP
iptables -A FORWARD -p tcp --dport 135 -j DROP
iptables -A FORWARD -p udp --dport 135 -j DROP
iptables -A FORWARD -p tcp --dport 139 -j DROP
iptables -A FORWARD -p udp --dport 139 -j DROP

#允許ping localhost,ping 192.168.0.1/2
#allow loopback access
iptables -A INPUT -p icmp -i lo -j ACCEPT
iptables -A OUTPUT -p icmp -o lo -j ACCEPT
#打開內(nèi)對內(nèi)連接
#iptables -A INPUT -i lo -j ACCEPT
#允許代理和內(nèi)網(wǎng)客戶機(jī)相互傳輸數(shù)據(jù)(包括ping)
#allow ping LAN
iptables -A INPUT -p ALL -i $INT_IF -s $LAN_IP_RANGE -j ACCEPT
iptables -A OUTPUT -p ALL -o $INT_IF -d $LAN_IP_RANGE -j ACCEPT
#允許外網(wǎng)的網(wǎng)卡與內(nèi)網(wǎng)相互通訊.接受數(shù)據(jù)只接受響應(yīng)封包,否則不予放行.發(fā)送數(shù)據(jù)沒有限制.
iptables -A INPUT -p ALL -i $INT_IF -s $LAN_IP_RANGE -j ACCEPT
iptables -A INPUT -p ALL -i $INT_IF -s $LAN_IP_RANGE -j ACCEPT
#拒絕外部使用內(nèi)網(wǎng)進(jìn)行欺騙
#deny local cheat
iptables -A INPUT -i $EXT_IF -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i $EXT_IF -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i $EXT_IF -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i $EXT_IF -s 127.0.0.0/8 -j DROP
#從LAN進(jìn)入防火墻主機(jī)的dhcp封包,不于放行,只有防火墻擔(dān)任DHCP時才放行
#deny DHCP_packets from LAN
iptables -A INPUT -p udp -i $INT_IF --dport 67 --sport 68 -j DROP
###-----------------------------------------------------------------------------------###
#配置向外方向的TCP規(guī)則,其中,--state ESTABLISHED ,NEW參數(shù)指定要檢查哪個狀態(tài).
#ESTABLISHED標(biāo)志匹配屬于已有的TCP連接的封包.
#NEW標(biāo)志指定試圖創(chuàng)建一條新的TCP連接的第一個封包,這條規(guī)則指明屬于新建的和已建立的
#TCP連接的封包將會通過eth0端口向外發(fā)送.
###-----------------------------------------------------------------------------------###
iptables -A OUTPUT -o $EXT_IF -p tcp -m state --state ESTABLISHED,NEW -j ACCEPT
###----------------------------------------------------------------------------------###
#配置封包從一個端口轉(zhuǎn)發(fā)到另一個端口
###----------------------------------------------------------------------------------###
iptables -A FORWARD -i $INT_IF       -j ACCEPT
# same to above 和上面的規(guī)則功能相同
#iptables -A FORWARD -i $EXT_IF -m state --state ESTABLISHED,RELATED      -j ACCEPT
###-------------------------------------------------------------------------------------###
#檢查到達(dá)外部網(wǎng)絡(luò)接口的封包狀態(tài).屬于已有TCP連接的封包都允許通過
# 從WAN到LAN的封包僅放行回應(yīng)封包
###-------------------------------------------------------------------------------------###
iptables -A INPUT -i $EXT_IF -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT# 限制過濾規(guī)則的比對頻率為每分鐘平均流量三個封包(超過上限的封包將暫停比對),,
#并將瞬間流量設(shè)定為一次最多處理三個封包(超過上限的封包將丟棄不予處理),,
#這類封包通常是黑客用來進(jìn)行阻斷式攻擊
iptables -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level INFO --log-prefix "IPT INPUT packets died:"
###-------------------------------------------------------------------------###
#不管來自哪里的ip碎片都進(jìn)行控制,允許每秒通過100個碎片
###-------------------------------------------------------------------------###
iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
###-------------------------------------------------------------------------###
#icmp包通過的控制,防止icmp黑客攻擊
###-------------------------------------------------------------------------###
iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
###-------------------------------------------------------------------------###
# 防止DDOS
###-------------------------------------------------------------------------###
#iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
###-------------------------------------------------------------------------###
# UDP包一律放行
# allow UDP
###-------------------------------------------------------------------------###
iptables -A FORWARD -p udp -d $LAN_IP_RANGE -i $EXT_IF -j ACCEPT
###-------------------------------------------------------------------------###
#根據(jù)mac屏蔽主機(jī)上網(wǎng)
###-------------------------------------------------------------------------###
#iptables -t nat -I PREROUTING -m mac --mac-source 4C:00:10:D8:57:F3 -j DROP
###-----------------------------------------------------###
# 開放內(nèi)部主機(jī)可以telnet至外部主 telnet port 23
###-----------------------------------------------------###
#沒必要打開23端口
#iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 23 -j ACCEPT
#iptables -A INPUT      -i $EXT_IF -p tcp ! --syn -s any/0 --sport 23 -d $FW_IP --dport 1024:65535 -j ACCEPT
###-----------------------------------------------------###
# 開放郵包轉(zhuǎn)送通道 open SMTP port 25
###-----------------------------------------------------###
#以下是別人可以送信給你
iptables -A INPUT      -i $EXT_IF -p tcp -s any/0 --sport 1024:65535 -d $FW_IP --dport 25 -j ACCEPT
iptables -A OUTPUT -o $EXT_IF -p tcp ! --syn -s $FW_IP --sport 25 -d any/0 --dport 1024:65535 -j ACCEPT
#以下是你可以送信給別人
iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 25 -j ACCEPT
iptables -A INPUT      -i $EXT_IF -p tcp ! --syn -s any/0 --sport 25 -d $FW_IP --dport 1024:65525 -j ACCEPT
###-----------------------------------------------------###
# 開放對外離線下載信件的通道 POP3 port 110
###-----------------------------------------------------###
iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 110 -j ACCEPT
iptables -A INPUT      -i $EXT_IF -p tcp ! --syn -s any/0 --sport 110 -d $FW_IP --dport 1024:65535 -j ACCEPT
###-----------------------------------------------------###
# 開放瀏覽網(wǎng)頁的通道 http port 80
###-----------------------------------------------------###
iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 80 -j ACCEPT
iptables -A INPUT      -i $EXT_IF -p tcp ! --syn -s any/0 --sport 80 -d $FW_IP --dport 1024:65535 -j ACCEPT
###-----------------------------------------------------###
# 開放查詢外部網(wǎng)絡(luò)的DNS主機(jī) DNS port:53
###-----------------------------------------------------###
#第一次會用udp封包來查詢
iptables -A OUTPUT -o $EXT_IF -p udp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT
iptables -A INPUT      -i $EXT_IF -p udp -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT
#若有錯誤,會改用tcp包來查詢
iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT
iptables -A INPUT      -i $EXT_IF -p tcp ! --syn -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT
#開放這臺主機(jī)上的DNS和外部的DNS主機(jī)互動查詢:使用udp
iptables -A OUTPUT -o $EXT_IF -p udp -s $FW_IP --sport 53 -d any/0 --dport 53 -j ACCEPT
iptables -A INPUT      -i $EXT_IF -p udp -s any/0 --sport 53 -d $FW_IP --dport 53 -j ACCEPT
#開放這臺主機(jī)上的DNS和外部的DNS主機(jī)互動查詢:使用udp
iptables -A OUTPUT -o EXT_IF -p tcp -s $FW_IP --sport 53 -d any/0 --dport 53 -j ACCEPT
iptables -A INPUT      -i EXT_IF -p tcp ! --syn -s any/0 --sport 53 -d $FW_IP --dport 53 -j ACCEPT
###------------------------------------------------------------------------###
#開放內(nèi)部主機(jī)可以SSH至外部的主機(jī) SSH port:22
###------------------------------------------------------------------------###
iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 22 -j ACCEPT
iptables -A INPUT      -i $EXT_IF -p tcp ! --syn -s any/0 --sport 22 -d $FW_IP --dport 1024:65535 -j ACCEPT
#以下是SSH protocol比較不同的地方
iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP --sport 1020:1023 -d any/0 --dport 22 -j ACCEPT
iptables -A INPUT      -i $EXT_IF -p tcp ! --syn -s any/0 --sport 22 -d $FW_IP --dport 1020:1023 -j ACCEPT
###------------------------------------------------------------------------###
###開放內(nèi)部網(wǎng)絡(luò),可以ftp至外部主機(jī)
###------------------------------------------------------------------------###
#以下是打開命令 channel 21
iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 21 -j ACCEPT
iptables -A INPUT      -i $EXT_IF -p tcp ! --syn      -s any/0 --sport 21 -d $FW_IP      --dport 1024:65535 -j ACCEPT
#以下是打開資料 channel 20
iptables -A INPUT -i $EXT_IF -p tcp -s any/0      --sport 20 -d $FW_IP      --dport 1024:65535      -j ACCEPT
iptables -A OUTPUT -o $EXT_IF -p tcp ! --syn -s $FW_IP --sport 1024:65535 -d any/0 --dport 20 -j ACCEPT
#以下是打開 passive mode FTP 資料通道
iptables -A OUTPUT -o $EXT_IF -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 1024:65535 -j ACCEPT
iptables -A INPUT      -i $EXT_IF -p tcp ! --syn -s any/0 --sport 1024:65535 -d $FW_IP --dport 1024:65535 -j ACCEPT
#-------------------------------------NAT------------------------------------------------
#透明代理設(shè)定:將WWW服務(wù)轉(zhuǎn)向squid
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
###-------------------------------------------------------------------------###
#啟動內(nèi)部對外部轉(zhuǎn)址:源網(wǎng)絡(luò)地址轉(zhuǎn)換SNAT
###-------------------------------------------------------------------------###
iptables -t nat -A POSTROUTING -o $EXT_IF -s $LAN_IP_RANGE      -j SNAT --to $FW_IP
###-------------------------------------------------------------------------###
#啟動外部對內(nèi)部轉(zhuǎn)址(設(shè)置內(nèi)網(wǎng)WWWW服務(wù)器映射)DNAT
###-------------------------------------------------------------------------###
iptables -t nat -A PREROUTING      -i $EXT_IF -p tcp -d $FW_IP --dport 80      -j DNAT --to 192.168.0.16:80
雙線原理是一樣的:
如果內(nèi)網(wǎng)1[或者外網(wǎng)]是192.168.1.0/24
         內(nèi)網(wǎng)2[或者外網(wǎng)]是192.168.2.0/24
只要改相應(yīng)部分就行了
#啟動內(nèi)部對外部轉(zhuǎn)址:源網(wǎng)絡(luò)地址轉(zhuǎn)換SNAT
###-------------------------------------------------------------------------###
iptables -t nat -A POSTROUTING -o $EXT_IF -s 192.168.1.0/24      -j SNAT --to $FW_IP
iptables -t nat -A POSTROUTING -o $EXT_IF -s 192.168.2.0/24      -j SNAT --to $FW_IP


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多