1

У меня есть VirtualBox, установленный на Windows 2008 R2 Standard Server (64-разрядная версия). В VirtualBox я запускаю CentOS 6.3. Я настроил мостовую сеть со статическим IP-адресом. Все работает хорошо, я могу пинговать клиента и от клиента к внешней стороне. Я также могу SSH в ВМ.

Однако я не могу получить доступ к любым другим службам, работающим на клиенте.

Вот некоторые странные вещи, пинг:

> ping -c 2 192.168.218.23
PING 192.168.218.23 (192.168.218.23) 56(84) bytes of data.
64 bytes from 192.168.218.23: icmp_req=1 ttl=62 time=45.7 ms
64 bytes from 192.168.218.23: icmp_req=2 ttl=62 time=41.6 ms

и nmap:

> nmap 192.168.218.23

Starting Nmap 5.21 ( http://nmap.org ) at 2012-09-07 15:28 CEST
Note: Host seems down. If it is really up, but blocking our ping probes, try -PN
Nmap done: 1 IP address (0 hosts up) scanned in 0.09 seconds

и nmap -PN:

> nmap 192.168.218.23 -PN
Starting Nmap 5.21 ( http://nmap.org ) at 2012-09-07 15:28 CEST
Nmap scan report for vub-backup-02v.zentrale.vpn.vub.de (192.168.218.23)
Host is up (0.53s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 73.36 seconds

и другая версия Nmap:

# nmap 192.168.218.23

Starting Nmap 5.51 ( http://nmap.org ) at 2012-09-07 15:32 CEST
Nmap scan report for 192.168.218.23
Host is up (0.0010s latency).
Not shown: 999 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 4.93 seconds

Но вот netstat клиентской виртуальной машины:

# netstat -ltpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State           PID/Program name   
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1081/rpcbind        
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1431/sshd           
tcp        0      0 0.0.0.0:8983                0.0.0.0:*                   LISTEN      3059/java           
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1240/cupsd          
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1507/master         
tcp        0      0 0.0.0.0:35071               0.0.0.0:*                   LISTEN      1099/rpc.statd      
tcp        0      0 :::57196                    :::*                        LISTEN      1099/rpc.statd      
tcp        0      0 :::111                      :::*                        LISTEN      1081/rpcbind        
tcp        0      0 :::22                       :::*                        LISTEN      1431/sshd           
tcp        0      0 ::1:631                     :::*                        LISTEN      1240/cupsd          
tcp        0      0 ::1:25                      :::*                        LISTEN      1507/master         

Так почему я не могу добраться до порта 8983 или 111 снаружи?

1 ответ1

1

Стефан, наиболее вероятная причина из моего опыта заключается в том, что брандмауэр iptables включен со значением по умолчанию REJECT ALL. Вам нужно будет отключить брандмауэр или открыть порты, чтобы пропустить трафик. Правила брандмауэра по умолчанию разрешают SSH. Вот приемлемые значения по умолчанию для CentOS:

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Я бы предложил сначала отключить брандмауэр, используя

/sbin/service iptables stop

затем снова пытаюсь получить доступ к сервисам. Если это работает, добавьте следующие правила в iptables:

/sbin/iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 8983 -j ACCEPT
/sbin/iptables -I INPUT 5 -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT

и перезапустите брандмауэр, используя

/sbin/service iptables start

ПРИМЕЧАНИЕ. Если вы используете порт 111 для RPC (это стандартный порт для RPC portmapper), вам нужно взглянуть на следующее и внести соответствующие изменения: Глава 30. Каталог sysconfig/etc/sysconfig/nfs

Если это не работает, брандмауэр Windows может блокировать трафик.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .