(转)iptables仅放行某端口,其他禁用掉

 http://blog.51cto.com/eholog/2299480

  由于工作需要,经常需要配置一些iptables防火墙,来作为对服务器的一些安全防护。

        只放行我们需要的使用的业务端口,其他端口全部禁用掉,配置方法如下:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
  
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT 

iptables -A INPUT -p tcp --dport 2234 -j ACCEPT 
  
iptables -A OUTPUT -p tcp --sport 2234 -m state --state ESTABLISHED -j ACCEPT 
 
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT 
  
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
  
iptables -A INPUT -p tcp -s 0/0 --dport 53 -j ACCEPT 

iptables -A OUTPUT -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT

iptables -A INPUT -p udp -s 0/0 --dport 53 -j ACCEPT
  
iptables -A OUTPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
  
iptables -P INPUT DROP
  
iptables -P FORWARD DROP
  
iptables -P OUTPUT DROP
  
iptables-save > /etc/sysconfig/iptables

需要注意的是,这样子配置完了之后,千万不要用iptables  -F来进行清除相关规则,否则的话,ssh远程到服务器将会立马断开(别问我是怎么知道的),只能通过主机控制台来进行解除相关配置了。想要取消或者删除 某些语句可以通过编辑/etc/sysconfig/iptables来进行解除。如果配置完之后的iptables规则使用iptables -L无法查看出来的话,请先进行保存再进行查看。

        另外,如果通过控制台来进行取消的话,需要使用以下语句来进行取消相关配置:

iptables -P INPUT ACCEPT
  
iptables -P FORWARD ACCEPT
  
iptables -P OUTPUT ACCEPT

取消之后,就可以正常访问服务器了。

        另外附加一下相关常用到的iptables语句:

        (1)只允许某台终端设备使用8087端口进行访问设备:

iptables -A INPUT -s 192.168.0.183 -p tcp  --dport 8087 -j ACCEPT;
iptables -A INPUT -p tcp  --dport 8087 -j DROP;

 (2)只允许某个网段使用8087端口进行访问设备

iptables -A INPUT -s 192.168.0.0/24 -p tcp  --dport 8087 -j ACCEPT;
iptables -A INPUT -p tcp  --dport 8087 -j DROP;

 (3)禁止使用22号端口进行访问设备:

iptables -A INPUT -p tcp --destination-port 22 -j DROP;

猜你喜欢

转载自blog.csdn.net/zyb418/article/details/84677085