EverKB

Knowledge Base Ever

Un server CentOS con una doppia scheda di rete installata nella LAN e connesso al segmento della doppia intranet può realizzare l'accesso simultaneo al doppio IP pubblico tramite il port forwarding del router.

2019-11-11 17:09:37

etichetta: CentOS, dual network interfaces, ip command, Doppia NIC, doppio NIC routing, doppio IP pubblico

Scenario: un server si trova nella LAN e fornisce servizi attraverso la mappatura delle porte del router Il server è dotato di due schede di rete, che appartengono a segmenti intranet diversi, in cui ogni segmento di rete ha un indirizzo IP pubblico mappato al server.

Sintomo: l'indirizzo IP pubblico corrispondente alla NIC predefinita nelle due NIC del server può accedere normalmente al server e non è possibile accedere all'altro IP.

Soluzione: è necessario configurare i due indirizzi IP pubblici per accedere al server. Supponiamo che i due segmenti di rete siano: 192.168.0 e 192.168.1 e che gli indirizzi IP del server sui due segmenti di rete siano: 192.168.0.9 e 192.168.1.9 e che i nomi delle schede di rete siano: enp2s0 e enp3s0. La configurazione del routing è la seguente:
echo "101 Net1" >> /etc/iproute2/rt_tables
echo "102 Net2" >> /etc/iproute2/rt_tables

ip route add default via 192.168.0.1 dev enp2s0 table Net1
ip route add default via 192.168.1.1 dev enp3s0 table Net2

ip rule add from 192.168.0.9 table Net1
ip rule add from 192.168.1.9 table Net2

etichetta

CentOS7 CentOS PHP Linux Python Python3 MySQL MariaDB YUM JavaScript HTML mysql_native_password PHP7 CSS Redis MySQL8 caching_sha2_password width DATE_ADD ip command pg_bha.conf SQL Server Compiling Apache Frameworks MySQL-python scrollbar Tcp BBR Apache2.4 Elasticsearch libpython3.7m.so.1.0 PHPStorm ss5-3.8.9 CURLOPT_POSTFIELDS NodeJs show VIM Bluetooth Failed to build these modules: _ctypes Minimal ISO substr Wi-Fi date sub INTERVAL PECL SQL Date Funcitons CodeIgniter font-size root Tag Cloud apache httpd dual network interfaces Laravel ss5 CURLFille horiz-align node.js ShadowsocksR vertical-align BarManager exec mb_substr PyCharm SUBDATE WebStorm date add IntelliJIDEA PEAR SOCKS5 Proxy Server Chrome find remi Tag Apache du jQuery PHP5.5 src cURL hide nginx Shadowsocks-Python V2Ray availability eth0 MariaDB10.4 PostgreSQL sub folder date Install MongoDB pdo_sqlsrv SOCKS5 Web Server File Upload mssql-tools register_shutdown_function Symfony Zend Framework ADDDATE DevExpress JetBrain php-fpm sqlsrv height network interface Shadowsocks-Libev unixODBC-devel Aura error_get_last Port 80 string data INDENTIFIED BY password policy requirements SOCKS Web Development Fedora Media Writer msodbcsql Redis5 SVN absolute Deepin jemalloc SQLAlchemy convert FuelPHP mysqlclient Shadowsocks toggle at-symbol Error Control Operator margin PHPUnit Framework ss5.passwd daemon process IIS password SOCKET vps center Fatal Errors MongoDB4 sudoers WiFi .htaccess DATE_SUB Phalcon SQL Server 2017 Compiling PHP frequency conflict set_error_handler TestCase apr Elasticsearch7.3 PHPUnit ss5.conf daemon HTTP particles.js Slim Vincent Garreau Failed to build these modules: _uuid MongoDB Sudo