There are two ways to restrict the IP address used to log on to Oracle
1. Edit $ ORACLE_HOME/network/admin/sqlnet. ora and add
Tcp. validnode_checking = yes
# Tcp. invited_nodes = () # list of IP addresses that can be accessed, separated by commas
Tcp. excluded_nodes = () # list of IP addresses restricted by access, separated by commas
Note:
Tcp. invited_nodes and tcp. excluded_nodes cannot be used simultaneously.
Only specific IP addresses can be specified, and IP segments cannot be specified.
Only the TCP protocol can be restricted.
The listener needs to be restarted to take effect.
========================================================== ====
1. Requirement: Restrict logon from IP address 192.168.137.1
2. Implementation Method:
Oracle @ oracle [/oracle/app/10g]> cd $ ORACLE_HOME/network/admin
Oracle @ oracle [/oracle/app/10g/network/admin]> ls-l
Total 16
Drwxr-x --- 2 oracle oinstall 4096 Dec 30 samples
-Rw-r ----- 1 oracle oinstall 172 Dec 26 2003 shrept. lst
-Rw-r -- 1 oracle oinstall 236 Dec 30 sqlnet. ora
-Rw-r -- 1 oracle oinstall 347 Mar 25 tnsnames. ora
Oracle @ oracle [/oracle/app/10g/network/admin]> vi sqlnet. ora
# Sqlnet. ora Network Configuration File:/oracle/app/10g/network/admin/sqlnet. ora
# Generated by Oracle configuration tools.
SQLNET. RECV_TIMEOUT = 0
SQLNET. EXPIRE_TIME = 0
SQLNET. SEND_TIMEOUT = 0
SQLNET. INBOUND_CONNECT_TIMEOUT = 0
Tcp. validnode_checking = yes
# Tcp. invited_nodes = ()
Tcp. excluded_nodes = (192.168.137.1)
Oracle @ oracle [/oracle/app/10g/network/admin]> lsnrctl stop
LSNRCTL for Linux: Version 10.2.0.1.0-Production on 15-JUN-2009 12:10:05
Copyright (c) 1991,200 5, Oracle. All rights reserved.
Connecting to (ADDRESS = (PROTOCOL = tcp) (HOST =) (PORT = 1521 ))
The command completed successfully
Oracle @ oracle [/oracle/app/10g/network/admin]> lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0-Production on 15-JUN-2009 12:10:17
Copyright (c) 1991,200 5, Oracle. All rights reserved.
Starting/oracle/app/10g/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0-Production
Log messages written to/oracle/app/10g/network/log/listener. log
Listening on: (DESCRIPTION = (ADDRESS = (PROTOCOL = tcp) (HOST = oracle) (PORT = 1521 )))
Connecting to (ADDRESS = (PROTOCOL = tcp) (HOST =) (PORT = 1521 ))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0-Production
Start Date 15-JUN-2009 12:10:17
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File/oracle/app/10g/network/log/listener. log
Listening Endpoints Summary...
(DESCRIPTION = (ADDRESS = (PROTOCOL = tcp) (HOST = oracle) (PORT = 1521 )))
The listener supports no services
The command completed successfully
Log on to 192.168.137.1.
ORA-12547: TSN: Lost connection