커널버전 업시 iptables문제입니다.
CentOS 기본 커널인 2.6.18-92 를 쓰다 필요에 의해 2.6.26.5로 커널을 업시켰습니다.
커널을 컴파일할 때 2.6.18-92에 쓰던 .config를 로드하여 설정을 그대로 갖다 썼는데
iptables restore메시지가 뜹니다. 20번째 라인에 에러가 있답니다.
아래의 설정은 배포판을 설치시의 iptables의 기본 설정입니다.
1 # Firewall configuration written by system-config-securitylevel
2 # Manual customization of this file is not recommended.
3 *filter
4 :INPUT ACCEPT [0:0]
5 :FORWARD ACCEPT [0:0]
6 :OUTPUT ACCEPT [0:0]
7 :RH-Firewall-1-INPUT - [0:0]
8 -A INPUT -j RH-Firewall-1-INPUT
9 -A FORWARD -j RH-Firewall-1-INPUT
10 -A RH-Firewall-1-INPUT -i lo -j ACCEPT
11 -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
12 -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
13 -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
14 -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
15 -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
16 -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
17 -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
18 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
19 -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
20 COMMIT
[root@localhost ~]# service iptables start
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: iptables-restore: line 20 failed
[FAILED]
[root@localhost ~]#
커널 옵션을 동일하게 주어 컴파일을 하였는데 에러메시지가 출력이 된다면
커널이 2.6.26.5로 업이 되면서 iptables의 규칙도 조금 변화가 있었다는 뜻인지요?
커널 2.6.18-92로 부팅시 잘 됩니다.
혹시 도움을 주실 분이 계신지요..?
답변에 앞서 감사의 말씀 드립니다.
[root@localhost sysconfig]#
[root@localhost sysconfig]# cp iptables iptables~
[root@localhost sysconfig]# rm iptables
rm: remove regular file `iptables'? y
[root@localhost sysconfig]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
[root@localhost sysconfig]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@localhost sysconfig]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
[root@localhost sysconfig]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT
[root@localhost sysconfig]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@localhost sysconfig]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
[root@localhost sysconfig]# iptables -A INPUT -p tcp --dport 143 -j ACCEPT
[root@localhost sysconfig]# iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
[root@localhost sysconfig]# /etc/rc.d/init.d/iptables save
Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
[root@localhost sysconfig]# service iptables start
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
Loading additional iptables modules: ip_conntrack_netbios_n[FAILED]
[root@localhost sysconfig]# lsmod |grep ip
iptable_filter 2688 1
ip_tables 9232 1 iptable_filter
ip6t_REJECT 3456 1
ip6table_filter 2560 1
ip6_tables 10384 1 ip6table_filter
x_tables 13060 4 ip_tables,ip6t_REJECT,xt_tcpudp,ip6_tables
ipv6 203316 17 ip6t_REJECT
dm_multipath 14472 0
dm_mod 45128 3 dm_mirror,dm_log,dm_multipath
lsmod로 확인을 해보니 ip_conntrack_netbios_ns모듈
ip_nat, ip_MASQUERADE 모듈 등이 안 올라와 있는 것 같군요.
[root@localhost ~]# modprobe ip_nat
FATAL: Module ip_nat not found.
[root@localhost ~]# modprobe ip_conntrack_netbios_ns
FATAL: Module ip_conntrack_netbios_ns not found.
이 경우 커널을 다시 컴파일 하여야 할 것 같은데 어떤 옵션을 포함해야 할지 알려주시면 안되겠습니까...
Networking Options 기본설정으로 컴파일 하였습니다.
Network Packet filtering framework (Netfilter)
> IP : Netfilter Configuration
> Iptables support (required for filtering/masq/NAT)는 모듈로 되어 있습니다만...
부탁드립니다...
댓글 달기