乙個shell防火牆的小指令碼

2021-05-01 23:47:21 字數 4717 閱讀 4341

指令碼如下:::

#!/bin/sh

#ver 1.1

#date 2009.7.14

iptables=/sbin/iptables

int_net=192.168.1.0/24

mdprobe=/sbin/modprobe

ifconfig eth0 192.168.1.4 netmask 255.255.255.0

ifconfig eth1 202.103.24.68 netmask 255.255.255.0

route add default gw 192.168.1.4

###setting up rules and chain policy to drop

$iptables -f

$iptables -f -t nat

$iptables -x

$iptables -p input drop

$iptables -p output drop

$iptables -p forward drop

#load modprobe##

$modprobe ip_conntrack

$modprobe iptable_nat

$modprobe ip_conntrack_ftp

$modprobe ip_nat_ftp

#setting ip input rules.....

echo setting up input chain....

$iptables -a input -m state --state invialid -j log --log-prefix "drop invialid"--log-ip-options --log-tcp-options

$iptables -a input -m state --state invialtd -j drop

$iptables -a input -m state --state established,related -j accept

$iptables -a input -i eth0 -s ! $int_net -j log --log-prefix "spoofed pkt"

$iptables -a input -i eth0 -s ! $int_net -j drop

#accept rules...

$iptables -a input -i eth0 -p tcp -s $int_net --dport 22 --syn -m state --state new -j accept

$iptables -a input -p icm

p --icmp-type echo-request -j accept

$iptables -a input -i ! lo -j log --log-prefix "drop" --log-ip-options --log-tcp-options

#setting up output chain rules.....

$iptables -a output -m state --state invialid -j log --log-prefix "drop invialid"--log-ip-options --log-tcp-options

$iptables -a output -m state --state invialtd -j drop

$iptables -a output -m state --state established,related -j accept

###########

$iptables -a output -p tcp --dport 22 --syn -m state --state new -j accept

$iptables -a output -p tcp --dport 20 --syn -m state --state new -j accept

$iptables -a output -p tcp --dport 21 --syn -m state --state new -j accept

$iptables -a output -p tcp --dport 25 --syn -m state --state new -j accept

$iptables -a output -p tcp --dport 80 --syn -m state --state new -j accept

$iptables -a output -p tcp --dport 110 --syn -m state --state new -j accept

$iptables -a output -p tcp --dport 143 --syn -m state --state new -j accept

$iptables -a output -p tcp --dport 443 --syn -m state --state new -j accept

$iptables -a output -p udp --dport 53 -m state --state new -j accept

#####

$iptables -a output -i ! lo -j log --log-prefix "drop" --log-ip-options --log-tcp-options

#####

echo setting up forward chain rules.....

$iptables -a forward -m state --state invialid -j log --log-prefix "drop invialid"--log-ip-options --log-tcp-options

$iptables -a forward -m state --state invialtd -j drop

$iptables -a forward -m state --state established,related -j accept

####setting up rules

$iptables -a forward -i eth0 -s ! $int_net -j log --log-prefix "spoofed pkt"

$iptables -a forward -i eth0 -s ! $int_net -j drop

####

$iptables -a forward -p tcp --dport 20 --syn -m state --state new -j accept

$iptables -a forward -p tcp --dport 21 --syn -m state --state new -j accept

$iptables -a forward -p tcp -i eth0 -s $int_net --dport 22 --syn -m state --state new -j accept

$iptables -a forward -p tcp -i eth0 -s $int_net --dport 22 --syn -m state --state new -j accept

$iptables -a forward -p tcp --dport 25 --syn -m state --state new -j accept

$iptables -a forward -p tcp --dport 80 --syn -m state --state new -j accept

$iptables -a forward -p tcp --dport 443 --syn -m state --state new -j accept

$iptables -a forward -p udp --dport 53 -m state --state new -j accept

$iptables -a forward -p tcp --dport 43 --syn -m state --state new -j accept

$iptables -a forward -i ! lo -j log --log-prefix "drop" --log-ip-options --log-tcp-option

#####nat

$iptables -t nat -a prerouting -p tcp --dport 80 -i eth1 -j dnat --to 192.168.1.4:80

$iptables -t nat -a prerouting -p tcp --dport 21 -i eth1 -j dnat --to 192.168.1

.4:21

$iptables -t nat -a prerouting -p tcp --dport 20 -i eth1 -j dnat --to 192.168.1

.4:20

$iptables -t nat -a prerouting -p tcp --dport 443 -i eth1 -j dnat --to 192.168.1.4:443

$iptables -t nat -a prerouting -p udp --dport 53 -i eth1 -j dnat --to 192.168.1

.4:53

$iptables -t nat -a postrouting -s $int_net -o eth1 -j masquerde

乙個高效 安全 通用的防火牆共享上網指令碼 ZT

很多人反覆在問linux如何設定才能實現共享上網,乾脆寫乙個步驟出來吧 1 vi usr local sbin firewall bin bash project by platinum,2005 05 12 set inte ce wan wan ip 外網絡卡位址 wan eth eth0 wa...

《Cisco防火牆》一2 2 防火牆服務模組的概述

cisco防火牆 cisco的防火牆服務模組 firewall service module,fwsm 是為其catalyst 6500系列交換機量身打造的防火牆解決方案,它可以提供cisco asa的狀態化監控技術。fwsm與asa防火牆系列有著共同的祖先,那就是pix防火牆。自然而然,這三款產品...

專案中的乙個小指令碼

excel a裡是一大堆ip位址。excel b裡是ip位址所對應的實體地址。兩個檔案 excel a如下圖所示 excel b如下圖所示 需求 將excel a中的ip在excel b中找到對應的實體地址。那麼寫的思路是什麼樣的呢?剛開始想要操作excel,python裡也有針對excel操作的模...