사용자의 네트워크 액세스를 비활성화해 보십시오.
[root@notebook ~]# iptables -I OUTPUT -m owner --uid-owner tempuser -j DROP
[root@notebook ~]# ip6tables -I OUTPUT -m owner --uid-owner tempuser -j DROP
Could not open socket to kernel: Address family not supported by protocol
[root@notebook ~]#
[root@notebook ~]# iptables -I INPUT -m owner --uid-owner tempuser -j DROP
iptables: Invalid argument. Run `dmesg' for more information.
[root@notebook ~]# ip6tables -I INPUT -m owner --uid-owner tempuser -j DROP
Could not open socket to kernel: Address family not supported by protocol
[root@notebook ~]#
테스트해보세요:
[root@notebook ~]# su - tempuser
[tempuser@notebook ~]$ ping google.com
ping: unknown host google.com
[tempuser@notebook ~]$
[tempuser@notebook ~]$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=56 time=4.80 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=4.07 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1057ms
rtt min/avg/max/mdev = 4.071/4.439/4.807/0.368 ms
[tempuser@notebook ~]$
[tempuser@notebook ~]$ exit
logout
[root@notebook ~]# ping google.com
PING google.com (216.58.209.174) 56(84) bytes of data.
64 bytes from bud02s21-in-f14.1e100.net (216.58.209.174): icmp_seq=1 ttl=55 time=5.05 ms
^C
--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 572ms
rtt min/avg/max/mdev = 5.059/5.059/5.059/0.000 ms
[root@notebook ~]#
질문:Linux에서 특정 사용자의 네트워크 액세스를 비활성화하는 방법은 무엇입니까? (in/out/IPv4/IPv6?) - IPv4 주소로 사용자에게 계속 ping을 보낼 수 있는 이유는 무엇입니까?
답변1
이 시도,
iptables -A OUTPUT -o ethX -m owner --uid-owner {USERNAME} -j DROP
어디,
--uid-owner { USERNAME } : 주어진 유효한 사용자 이름을 가진 프로세스에 의해 패킷이 생성된 경우 일치합니다. -A: 주어진 테이블/체인에 규칙을 첨부합니다. -I: 테이블/체인의 헤드에 규칙을 삽입합니다.
예를 들어 내 oracle 사용자 ID는 1000이므로 다음 규칙을 추가하겠습니다.
/sbin/iptables -A OUTPUT -o eth0 -m owner --uid-owner 1000 -j DROP
service iptables save
답변2
TCP 래퍼인 /etc/host.allow 또는 /ect/host.deny를 사용하여 이 작업을 수행할 수 있습니다. 이 파일에서 사용자에게 네트워크 풀을 언급할 수 있습니다.