이 파일을 직접 편집
/etc/sysconfig/iptables
너무 많은 시간과 시간을 절약 할 수 있습니다.
그리고 파일 맨 위에는 ..
Manual customization of this file is not recommended.
다음은 새로운 centos 6.4 클라우드 서버와 함께 제공된 ‘/ etc / sysconfig / iptables’입니다.
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
포트 80을 열려면 간단히 회선을 복제 할 수 있습니다.
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
“22”를 “80”으로 변경 한 다음이 파일을 저장하고 전체 시스템을 재부팅하십시오.
포트 80이 열립니다.
이것은 매우 간단한 작업입니다. 그러나 파일에는 수동 편집을 권장하지 않습니다.
왜 조언을 따라야합니까?
답변
호출 된 도구 system-config-firewall
(또는 ncurses based brother system-config-firewall-tui
)가이 파일을 관리하므로 이 도구를 사용하여 새 iptables 규칙을 만들 때마다 덮어 씁니다 /etc/sysconfig/iptables
.
관련 맨 페이지 : 28.1.16. / etc / sysconfig / iptables-config
이것이 권장되지는 않지만 금지 되지 않은 이유 입니다. CentOS 또는 다른 EL 버전 6을 사용하여 규칙을 저장하는 가장 좋은 방법은 메모리에 규칙을 추가 한 후 iptables 서비스를 사용하는 것입니다.
# service iptables save
관련 질문 : iptables가 centOs의 / etc / sysconfig / iptables에서 정보를 가져 오지 않는 이유는 무엇입니까?
이 파일을 /etc/sysconfig/iptables
직접 편집하지 않는 이유 ( ) :
- 자동 생성 된 파일이기 때문입니다. 그것의 내용은 script / daemon에서 온다
/etc/init.d/iptables
. - iptables 데몬 재설정 또는 중지와 같은 일부 작업은 파일을 덮어 쓰기 때문에 데이터가 손실 될 수 있습니다. 이 주제
IPTABLES_SAVE_ON_STOP=""
와 파일IPTABLES_SAVE_ON_RESTART=""
내부 에 흥미로운 변수 가/etc/sysconfig/iptables-config
있습니다. 어쩌면 그것들을 조정하면 내부 변경 사항이/etc/init.d/iptables
영구적으로 유지됩니다. - 설명서에 따르면 .Red Hat은 이것이 방화벽 인프라를 사용하는 가장 좋은 방법이라고 조언합니다.
이 mindf이 *** 완전히 그 스크립트를 비활성화에 의해 노출 된 것과 같은, 방화벽을 관리하는 사용자 정의 방법에 의존하는 것입니다 “내 방화벽 규칙을 덮어 쓰기”에 대한 대안 솔루션 금발 미녀 .
답변
그리고 파일 맨 위에는 ..
흠, 이상하다. 내 상단에는 다음과 같이 말합니다.
# Manual customization of this file is strongly encouraged.
누군가가 그것을 변경했을 것입니다;) 그리고 실제로 그것을 밖으로 이동 /etc/sysconfig
하여 패키지 관리자 또는 다른 것에 의해 “사용자 정의되지 않은”자동화되지 않습니다.););)
이러한 구성 파일의 일반적인 요점은 수행중인 작업을 모르는 경우 수행하지 않는 것입니다. 때때로 시스템이 파일을 덮어 쓰게된다는 경고가 있습니다. 업그레이드시 패키지 관리자가이를 수행 할 수 있습니다. 때때로 PM은 파일이 수동으로 변경되어 파일을 덮어 쓰지 않거나 사본을 저장하지 않는다는 것을 알 수 있지만이 구성을 담당하는 다른 도구 일 수도 있습니다. 특히 ( nwildner의 답변 참조 ).
“무엇을하고 있는지 아는 것”의 일부는 이와 같은 각도를 인식하는 것입니다. 또한 iptables가 구성 파일에 다른 위치를 사용하도록 초기화 서비스를 사용자 정의했으며 가장 중요한 것은 이 컴퓨터를 사용하는 유일한 사람입니다.
루트 액세스 권한을 가진 다른 사람이 있다고 가정하면 “이 방법을 선호합니다”보다 더 나은 이유가 없다면 혼란을 초래하고 다른 사람에게 두통을 줄 수 있기 때문에 내가 담당하는 서버에서이 작업을 수행하지 않을 것입니다. 어느 시점에서. 그러나 당신이 유일한 사용자이고 다른 사람이 시스템에 의존하지 않는다면, 원하는 것을 자유롭게 할 수 있습니다. 방화벽 구성에 대한 “선호하는 방법”은 다음과 같습니다.
#!/bin/bash
if [[ ! -n "$IPTSET_FILE" ]]; then
IPTSET_FILE=/etc/iptables.current
fi
if [[ ! -e $IPTSET_FILE ]]; then
echo "$IPTSET_FILE does not exist!"
exit 1
fi
vim $IPTSET_FILE
iptables-restore < $IPTSET_FILE
/etc/iptables.current
부팅시 복사됩니다 /etc/iptables
(iptables 서비스가 초기에로드되도록 구성됨). 이렇게하면 시스템이 시작하는 기준점을 유지하면서 즉시 물건을 수정할 수 있습니다.
이런 종류의 경고가 포함 된 구성을 사용하고 싶다면 항상 원본의 백업 복사본을 만드십시오.