Oracle DB:利用sqlnet.ora限制IP連線

 因為需要限制IP連線DB,同事提供SQLnet方案,用防火牆也是可以的。

防火牆設定比較複雜,但是可以設定的比較詳細,sqlnet只針對DB,且功能不如防火牆多。

DB是19c,只有單機,所以環境單純,在$ORACLE_HOME/network/admin/sqlnet.ora中加入下列:

# 啟用設定
TCP.VALIDNODE_CHECKING=yes 

# 允許清單(限用IP)
TCP.INVITED_NODES=(192.192.192.10,ip2,ip3) 

# 拒絕清單
TCP.EXCLUDED_NODES=(192.168.192.20,ip2,ip3)

我只有設定允許清單,所以不在清單內的IP就會被拒絕

sqlnet.ora設定完成後,需要重啟linstener才能生效。

重啟linstener的過程中,已連線到DB的Session仍可正常作業,但是無法新增Session。