/
Xmanager 목록의 서버들이 특정 PC에만 나오게 하고 싶습니다.
Xmanager 목록의 서버들이 특정 PC에만 나오게 하고 싶습니다.
현상
주소 창이나 세션 파일에서 직접 지정하는 방법으로는 접속이 되지만 단지 Xmanager 목록에 자동으로 나오는 것을 제한하고 싶습니다.
원인 및 해결방법
XDMCP 자체로는 호스트(PC 등)마다 접속 자체를 제한할 수 있지만 단지 Xmanager 목록에 나타나지 않게만은 할 수 없습니다.
방화벽 룰을 통한 다른 방법을 사용하여야 합니다.
리눅스의 경우라면 서버 자체에 설치된 iptables 방화벽을 이용하여 브로드캐스트 패킷을 제어함으로써 가능합니다.
-A RH-Firewall-1-INPUT -m pkttype --pkt-type broadcast -s 192.168.1.14 -j ACCEPT -m comment --comment "winos" -A RH-Firewall-1-INPUT -m pkttype --pkt-type broadcast -m iprange --src-range 192.168.1.50-192.168.1.100 -j ACCEPT -m comment --comment "Manager1" -A RH-Firewall-1-INPUT -m pkttype --pkt-type broadcast -j DROP -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 177 -j ACCEPT
위 예제는 192.168.1.14번과 192.168.1.50~192.168.1.100번까지는 브로드캐스트를 허용하여 Xmanager 목록에 나타나고 그 나머지는 해당 패킷을 버림으로써 Xmanager 목록에 나타나지 않습니다.
하지만 XDMCP 접속을 위한 UDP 포트 177은 허용하므로 주소 창 등에서 직접 질의(query)하는 경우에는 응답하도록 되어 있습니다.
위 예제는 Redhat Enterprise Linux 5.8의 iptables 규칙입니다. /etc/sysconfig/iptables 파일을 수정하여 다음 내용을 추가합니다.