일반적으로 로그인 할 때마다 iptables 규칙을 실행합니다. 터미널에서 나는 타입;
sudo sh firewall.sh
언니의 컴퓨터를 설정하면서, 그녀에게 기본적인 방화벽 보호 기능을 제공하고 싶습니다. 그녀는 표준 계정 인 관리자로 로그인하지 않습니다. 암호를 입력하지 않고 로그인 할 때마다 방화벽 스크립트를 실행하려면 어떻게해야합니까?
내가 여동생의 컴퓨터에 쓴 스크립트는 다음과 같습니다.
#!/bin/sh
modprobe ip_conntrack
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -I OUTPUT -p tcp --dport 80 --sport 32768:61000 -j ACCEPT
iptables -I OUTPUT -p udp --dport 53 --sport 32768:61000 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 443 --sport 32768:61000 -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -I OUTPUT -p icmp -j DROP
iptables -I INPUT -p icmp -j DROP
iptables -I INPUT -p udp -j DROP
iptables -I INPUT -p tcp -m tcp --syn -j DROP
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
필자는 홈 폴더에 firewall.sh로 배치하고 실행 가능하도록 설정했습니다 (파일을 마우스 오른쪽 단추로 클릭하고 권한 탭에서 "프로그램을 파일로 프로그램으로 실행"옵션을 확인).
루트로 터미널에서이 스크립트를 실행하면 정상적으로 작동합니다.
입력 후;
sudo sh firewall.sh
터미널에 입력했습니다
sudo iptables -L -v
그리고 나는 얻는다
Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- lo any anywhere anywhere
0 0 DROP tcp -- any any anywhere anywhere tcpflags: FIN,SYN,RST,ACK/SYN
0 0 DROP udp -- any any anywhere anywhere
0 0 DROP icmp -- any any anywhere anywhere
Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
0 0 DROP icmp -- any any anywhere anywhere
0 0 ACCEPT tcp -- any any anywhere anywhere tcp spts:32768:61000 dpt:https
0 0 ACCEPT udp -- any any anywhere anywhere udp spts:32768:61000 dpt:domain
0 0 ACCEPT tcp -- any any anywhere anywhere tcp spts:32768:61000 dpt:http
0 0 ACCEPT all -- any lo anywhere anywhere
로그인 할 때이 스크립트를 자동으로 실행 시키거나 자매 컴퓨터에이 규칙을 영구적으로 저장하려면 어떻게해야합니까? rc.local 메소드와 iptables-save에 대한 첫 시도가 성공적이지 않았으므로 자세한 코드를 제공해 주시겠습니까? 재부팅 할 때마다 모든 INPUT, OUTPUT 및 FORWARD 체인이 ACCEPT로 재설정되며 입력시 정책이 나열되지 않습니다sudo iptables -L -v
ip6tables
IPv6가 처리ip6tables
하고 있지 않기 때문에 하루에 v6 연결을 얻는 경우 규칙 이 있는지 확인하십시오iptables
.