下面我们一起来学习一个linux中suse防火墙配置ssh的步骤,这个对于使用习惯centos中的朋友来讲会有一点不习惯了,下面我们来具体看看配置过程吧.
最近由于工作需要开始玩SuSe,由于之前用惯了centos,在SuSe上使用iptables -nL可以查看到防火墙的配置,确找不到配置文件,而在/etc/init.d下的服务名在SuSe下也变马了SuSEfirewall2_init 和 SuSEfirewall2_setup,如下:
- 361way:/ # chkconfig
-
- 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
- //增加一条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 |