linux下 设置iptables 允许访问端口22、1521

#!/bin/bash

LC_ADDR=10.120.249.144
LO_ADDR=127.0.0.1

iptables -F
#清除现有的规

iptables -P INPUT DROP
#iptables -P OUTPUT DROP
#设置INPUT和OUTPUT链的默认规则为DROP,既不允许任何包到达本机,也不允许本机向外发包


iptables -A INPUT -p ALL -s $LC_ADDR -d $LC_ADDR -j ACCEPT
iptables -A OUTPUT -p ALL -s $LC_ADDR -d $LC_ADDR -j ACCEPT
iptables -A INPUT -p ALL -s $LO_ADDR -d $LO_ADDR -j ACCEPT
iptables -A OUTPUT -p ALL -s $LO_ADDR -d $LO_ADDR -j ACCEPT
#允许本机和本机联系,必须打开,否则listener无法正常启动

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
#添加规则,允许入站的ssh连接

iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1521 -j ACCEPT
#添加规则,允许入站的1521端口的连接,也就是允许其他主机通过监听器访问本机的数据库。
#如果listener监听的不是1521端口,则要做相应的修改

#iptables -A INPUT -p tcp --dport 5560 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 5560 -j ACCEPT
#添加规则,允许入站的5560端口的连接,也就是允许其他主机访问本机的isqlplus

#iptables -A INPUT -p tcp --dport 5500 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 5500 -j ACCEPT
#添加规则,允许入站的55600端口的连接,也就是允许其他主机访问本机的em
##############################################################################################
iptables里面的dport和sport
 
首先先来翻译一下dport和sport的意思: 
 
dport:目的端口 
sport:来源端口 
初学iptables比较容易迷糊,但是我尽量用通俗的语言给你讲解。 
 
dport 和sport字面意思来说很好理解,一个是数据要到达的目的端口,一个是数据来源的端口。 
 
但是在使用的时候要分具体情况来对待,这个具体情况就是你的数据包的流动行为方式。(INPUT还是OUTPUT)
 
比如你的例子:/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
注意里面的INPUT参数,这个代表你的这条数据包的进行的  "进入"  操作! 
那么你的这条数据包可以这么描述: 
1.这是一条从外部进入内部本地服务器的数据。 
2.数据包的目的(dport)地址是80,就是要访问我本地的80端口。 
3.允许以上的数据行为通过。 
总和:允许外部数据访问我的本地服务器80端口。 
 
再看第2条列子:/sbin/iptables -A INPUT -p tcp --sport 80 -j ACCEPT 
1.这是一条从外部进入内部本地服务器的数据。 
2.数据包的来源端口是(sport)80,就是对方的数据包是80端口发送过来的。 
3.允许以上数据行为。 
总结:允许外部的来自80端口的数据访问我的本地服务器。 
 
input方式总结: dport指本地,sport指外部。 
 
如果你的数据包是(OUTPUT)行为,那么就是另外一种理解方式: 
比如: 
/sbin/iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT 
1.这是一条从内部出去的数据。 
2.出去的目的(dport)端口是80。 
3.允许以上数据行为。 
 
output行为总结:dport只外部,sport指本地。 
##########################################################################################################
iptables 删除一条已有的iptables规则 

语法是: iptables -D chain rulenum [options] 
其中: chain 是链的意思,就是INPUT FORWARD 之类的定语

rulenum 是该条规则的编号。从1开始。可以使用iptables -L -n INPUT --line-numbers列出指定的链的规则的编号来。
所以,例如上面要删除一个INPUT链的规则的话可以这样:

iptables -D INPUT 3

意思是删除第3条规则。
#for example

[root@rhel6 ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.120.249.144       10.120.249.144      
2    ACCEPT     all  --  127.0.0.1            127.0.0.1           
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:1521 

iptables -D INPUT 3

[root@rhel6 ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.120.249.144       10.120.249.144      
2    ACCEPT     all  --  127.0.0.1            127.0.0.1           
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:1521 
##########################################################################################################
iptables 添加规则

添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部。
添加一条规则到尾部:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

[root@rhel6 ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.120.249.144       10.120.249.144      
2    ACCEPT     all  --  127.0.0.1            127.0.0.1           
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:1521 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 

iptables -A INPUT -p tcp -s 10.120.249.154 --dport 22 -j ACCEPT

[root@rhel6 ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.120.249.144       10.120.249.144      
2    ACCEPT     all  --  127.0.0.1            127.0.0.1           
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:1521 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 
5    ACCEPT     tcp  --  10.120.249.154       0.0.0.0/0           tcp dpt:22 

再插入一条规则到第三行,将行数直接写到规则链的后面:
iptables -I INPUT 3 -p tcp -s 10.120.249.154 --dport 22 -j ACCEPT

[root@rhel6 ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.120.249.144       10.120.249.144      
2    ACCEPT     all  --  127.0.0.1            127.0.0.1           
3    ACCEPT     tcp  --  10.120.249.154       0.0.0.0/0           tcp dpt:22 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:1521 
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 
6    ACCEPT     tcp  --  10.120.249.154       0.0.0.0/0           tcp dpt:22 

iptables -D INPUT 5
iptables -D INPUT 5

[root@rhel6 ~]# iptables -L -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.120.249.144       10.120.249.144      
2    ACCEPT     all  --  127.0.0.1            127.0.0.1           
3    ACCEPT     tcp  --  10.120.249.154       0.0.0.0/0           tcp dpt:22 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:1521 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.120.249.144       10.120.249.144      
2    ACCEPT     all  --  127.0.0.1            127.0.0.1           
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:22 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:1521 
######################################################################################
修改规则

 修改使用-R参数 
 iptables -R INPUT 3 -p tcp --dport 22 -j ACCEPT
 
 [root@rhel6 ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.120.249.144       10.120.249.144      
2    ACCEPT     all  --  127.0.0.1            127.0.0.1           
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:1521 

iptables -R INPUT 3 -p tcp -s 10.120.249.154 --dport 22 -j ACCEPT

[root@rhel6 ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination         
1    ACCEPT     all  --  10.120.249.144       10.120.249.144      
2    ACCEPT     all  --  127.0.0.1            127.0.0.1           
3    ACCEPT     tcp  --  10.120.249.154       0.0.0.0/0           tcp dpt:22 
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:1521 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22193071/viewspace-1337811/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22193071/viewspace-1337811/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值