Linux에서 iptables 규칙 관리


17

내 iptables 설정 (라우팅, ssh bans 등)에 대한 많은 규칙이 있습니다. 또한 http://blacklist.linuxadmin.org 에서 IP를 차단할 목록을 선택하여 실제로는 복잡해졌습니다.

내가 /etc/sysconfig/iptables정말 깁니다. 외부 파일의 규칙을 포함시켜 규칙을 관리하는 방법이 있습니까?

예를 들면 다음과 같습니다.

#include "pre_routing_rules"
#include "ssh_bans"

여기에는 "pre_routing_rules"및 "ssh_bans"파일에 추가 된 규칙이 포함됩니다. 이렇게하면에서에서 찾지 않고도 규칙을 쉽게 관리 할 수 ​​있습니다 cat /etc/sysconfig/iptables.

답변:


11

iptables 'ipsets 시도하십시오 . ipsets는 개별적으로 구성되며 관리 할 IP 주소가 충분하면 더 빠릅니다.

iptables 규칙은 다음과 같이 ipset을 참조 할 수 있습니다.

iptables-앞으로 -m set --set 차단 목록 src, dst -j DROP


내 가장 큰 문제는 IP 주소와 관련이 있으므로 이것을 사용할 수 있습니다.

이 기능을 사용하고 있습니다. 블랙리스트 / 화이트리스트 IP가 가장 크므로 ipset에 들어갈 수 있습니다. 사전 라우팅 항목은 기본 구성 목록에 남아있을 수 있습니다.

이 포럼 스레드에는 ipsets를 사용하는 스크립트의 몇 가지 예가 있습니다. forums.gentoo.org/viewtopic-t-863121.html
mivk

3

간단한 해결책 중 하나는 다음과 같이 각 섹션마다 여러 개의 bash 스크립트를 사용하는 것입니다.

iptables-routing.sh
iptables-ssh-bans.sh
iptables-blacklist.sh

그리고 마스터 스크립트에서이 파일을 실행하십시오.


그래, 그게 내가하는 일이야. 하지만의 iptables 규칙의 목록을 볼 수있는 경우. (예를 들어 고양이을 / etc / sysconfig / iptables에가), 나에게 iptables-routing.sh iptables-blacklist.sh를 통해 추가 된 모든 규칙이 표시됩니다

2

iptables는 파일을 직접 읽지 않습니다. 즉 iptables-restore라는 프로그램에 의해 수행됩니다. 이것은 일반적으로 init 스크립트 중 하나에서 호출됩니다.

iptables-restore 라인에 추가 입력 파일을 추가 할 수 있습니다. 이 라인이 시스템에서 어디에 있는지 찾아야하지만 Debain 상자에서 /etc/init.d/nat에 있습니다.

줄은 현재 다음과 같습니다.

/sbin/iptables-restore < /etc/network/iptables

아마도 다음과 같이 바꿀 수 있습니다.

cat /etc/network/iptables \
    /etc/network/pre_routing_tables \
    /etc/network/ssh_bans | /sbin/iptables-restore

2

Firestarter 또는 Shorewall과 같은 많은 최첨단 방화벽 스크립트 / 도구 중 하나를 사용하는 경향이 있습니다. 파일마다 목적에 따라 분리되어 있으며 특정 유형의 가짜 패킷으로부터 보호하기 위해 흥미로운 규칙을 추가하며 일반적으로 작동합니다. 잘.


이것들은 커맨드 라인을 통해 사용할 수 있습니까? 내 서버는 원격 서버이며 SSH를 통해 X를 수행하는 것을 선호하지 않습니다

Shorewall은 iptables 규칙을 생성하는 플랫 텍스트 파일 세트입니다. 명령 행에서 매우 유용하며 훌륭한 문서 및 진단 도구가 있습니다.
Paul Gear

0

내 배포판이 참조하는 파일을 가지고 있지 않기 때문에 어떤 배포판을 실행하고 있는지 잘 모르겠습니다. 그러나 일반적으로 iptables 규칙을 포함하는 파일은 쉘 스크립트 일뿐이므로 원하는 줄을 가질 수 있습니다. 같은 :

. / etc / sysconfig / pre_routing_rules

또는 참조하는 iptables 파일의 맨 위에 있습니다.


저는 Fedora와 CentOS를 운영하고 있습니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.