suse防火墙配置ssh及其他服务

2014年8月28日 发表评论 阅读评论

最近由于工作需要开始玩SuSe ,由于之前用惯了centos ,在SuSe上使用iptables -nL可以查看到防火墙的配置,确找不到配置文件。而在/etc/init.d下的服务名在SuSe下也变马了SuSEfirewall2_init 和 SuSEfirewall2_setup ,如下:

361way:/ # chkconfig --list |grep -i fire
SuSEfirewall2_init        0:off  1:off  2:off  3:on   4:on   5:on   6:off
SuSEfirewall2_setup       0:off  1:off  2:off  3:on   4:on   5:on   6:off

默认情况下,iptables的配置中没有开启sshd的远程访问权限。

一、非正常做法

还是按照centos上那一套,将SuSE自带的服务停掉,通过iptables-save命令将配置结果保存并增加到SuSe的开机自启动里,如下:

#chkconfig SuSEfirewall2_setup off
//这里让系统在启动时默认不加载防火墙规则
#iptables -t filter -I input_ext 14 -p tcp --dport 22 -j ACCEPT
//增加一条sshd的访问规则
# iptables-save > /root/iptables.save
# vi /etc/init.d/boot.local
iptables-restore /root/iptables.save
//增加该命令, 让系统的启动的时候自动恢复之前保存的防火墙规则....这样就OK

该做法虽然可以解决问题,不过显的很不专业,有点像杂牌军或土匪。后来通过网上查看和查看opensuse(suse的开源版,类似于centos 之于redhat)上的配置发出了系统正确的做法。

二、正规做法

进入 /etc/sysconfig/ 目录,找到 SuSEfirewall2 配置文件,打开并编辑,找到FW_SERVICES_EXT_TCP部份,上面给出了一些配置示例,如:

Examples: "ssh", "123 514", "3200:3299", "ftp 22 telnet 512:514"

根据示例,开启ssh服务的做法为:

FW_SERVICES_EXT_TCP="ssh"
或
FW_SERVICES_EXT_TCP="22"
或
FW_SERVICES_EXT_TCP="ssh 22"

保存之后,重启防火墙,使配置生效

# rcSuEfirewall2 restart

注:对于forward链有FW_FORWARD 、FW_FORWARD_REJECT等配置。

三、只允许指定IP访问UDP端口或TCP端口

对于TCP端口,我们拿8080端口作为例子,只允许192.168.0.100访问8080端口,打开/etc/sysconfig/SuSEfirewall2配置文件,找到FW_SERVICES_EXT_TCP参数。确保8080端口不在该参数中,然后找到FW_SERVICES_ACCEPT_EXT参数,将指定的IP填写进去,写法如下:

192.168.0.100,tcp,8080

对于UDP端口,我们拿NTP端口123作为例子,只允许192.168.0.100访问123端口。同样打开/etc/sysconfig/SuSEfirewall2 配置文件,找到FW_SERVICES_EXT_UDP参数。确保123端口不在该参数中,然后找到FW_SERVICES_ACCEPT_EXT参数,将指定的IP填写进去,写法如下:

192.168.0.100,udp,123

修改完以后重启防火墙即可:

# SuSEfirewall2  restart
或者
# SuSEfirewall2 stop
# SuSEfirewall2 start

参考页面:https://en.opensuse.org/SuSEfirewall2




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.