포트를 다시 라우팅하도록 iptables를 설정 한 후에는 어떻게 취소합니까?


13

많은 사이트에서 iptables를 사용하여 Linux에서 한 포트를 다른 포트로 다시 라우팅하는 방법을 읽었습니다. 예를 들어, 포트 80을 8080으로 다시 라우팅하면 다음과 같습니다.

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080

내 관심사는, 내 마음이 바뀌면 어떻게 되나요? 나는 그것을 수정하기위한 구문을 제공하는 곳을 읽지 못했습니다. 나는 (간단한?) 방법이 있다고 가정하지만 Linux에서는 OS를 다시 설치하지 않고 포트 80을 원래 동작으로 복원하는 방법을 직관적으로 파악하기에는 너무 새롭습니다.

답변:


6

-D 옵션을 사용하여 iptables 를 사용하여 체인에서 규칙을 삭제할 수 있습니다 . 예를 들어

먼저 규칙을 제거하려는 체인을 나열하고 --line-numbers를 사용하십시오.

sudo iptables -L RH-Firewall-1-INPUT  -n --line-numbers

Chain RH-Firewall-1-INPUT (2 references)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
4    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0
5    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0
6    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
7    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
8    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
9    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
10   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
11   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

6 행을 삭제하려면

sudo iptables -D RH-Firewall-1-INPUT 6
sudo iptables -L RH-Firewall-1-INPUT  -n --line-numbers

Chain RH-Firewall-1-INPUT (2 references)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
3    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
4    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0
5    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0
6    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
8    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
10   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

당신은 파일에 저장하여 iptables를 구성 (파일을 업데이트하는 것을 잊지 마세요 경우 iptables-save, service iptables save등)


23

스크립팅하는 경우 정의별로 쉽게 제거 할 수 있습니다.

예:

추가하려면 다음을 수행하십시오.

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080

통지 -A를 ? add를 의미 합니다 .

제거:

iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080

통지 -D를 ? 삭제를 의미 합니다.


이것은 매우 유용했습니다!
MadPhysicist

3

http://linux.die.net/man/8/iptables :

아헴

iptables -L, --list [chain]
    List all rules in the selected chain. If no chain is selected, all chains are listed. As every other iptables command, it applies to the specified table (filter is the default), so NAT rules get listed by

    iptables -t nat -n -L

    Please note that it is often used with the -n option, in order to avoid long reverse DNS lookups. It is legal to specify the -Z (zero) option as well, in which case the chain(s) will be atomically listed and zeroed. The exact output is affected by the other arguments given. The exact rules are suppressed until you use

    iptables -L -v

...

iptables -D, --delete chain rule-specification
iptables -D, --delete chain rulenum
    Delete one or more rules from the selected chain. There are two versions of this command: the rule can be specified as a number in the chain (starting at 1 for the first rule) or a rule to match. 

0

bithavoc의 대답이 맞습니다. 나는 여전히 그것에 대한 의견이 충분하지 않기 때문에 추가 정보를 새로운 답변으로 추가하고 있습니다.

새로운 경로 변경 규칙 추가

$ sudo iptables -t nat -D PREROUTING -p tcp --dport 443 -j REDIRECT --to 5671

NAT 규칙 나열

$ sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
REDIRECT   tcp  --  anywhere             anywhere             tcp dpt:https redir ports 5671

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination     

-t nat스위치는 규칙을 라우팅 할 수 있도록해야합니다.

규칙 삭제

$ sudo iptables -t nat -D PREROUTING -p tcp --dport 443 -j REDIRECT --to 5671
[ec2-user@ip-172-31-27-46 ~]$ sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.