Как открыть порт?

У меня ubuntu 12.04, и я не могу разрешить определенный порт в моем брандмауэре. Поэтому я в основном сказал, что разрешу все, но это все равно не работает. Пожалуйста, помогите. nmap на этой машине с другой машины говорит:

$ nmap host_nameNot shown: 996 closed portsPORT    STATE SERVICE22/tcp  open  ssh80/tcp  open  http139/tcp open  netbios-ssn445/tcp open  microsoft-ds

а вот nmap с той же машины

$ nmap localhostStarting Nmap 5.21 ( http://nmap.org ) at 2014-01-21 11:14 PSTNmap scan report for localhost (127.0.0.1)Host is up (0.000080s latency).Not shown: 991 closed portsPORT     STATE SERVICE22/tcp   open  ssh25/tcp   open  smtp53/tcp   open  domain80/tcp   open  http139/tcp  open  netbios-ssn445/tcp  open  microsoft-ds631/tcp  open  ipp3306/tcp open  mysql8000/tcp open  http-altNmap done: 1 IP address (1 host up) scanned in 0.04 seconds

Я хочу открыть порт 8000, и вот вывод iptables.

# iptables -L -nChain INPUT (policy ACCEPT)target     prot opt source               destination         ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           Chain FORWARD (policy ACCEPT)target     prot opt source               destination         Chain OUTPUT (policy ACCEPT)target     prot opt source               destination         ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0  mmoghimi@titan:~$ sudo netstat -tulpnActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program nametcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      14842/mysqld    tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      982/smbd        tcp        0      0 127.0.0.1:39346         0.0.0.0:*               LISTEN      3405/GoogleTalkPlugtcp        0      0 127.0.0.1:50995         0.0.0.0:*               LISTEN      3405/GoogleTalkPlugtcp        0      0 127.0.0.1:5939          0.0.0.0:*               LISTEN      2412/teamviewerdtcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      2429/dnsmasq    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      985/sshd        tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1267/cupsd      tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1748/exim4      tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN      2885/dropbox    tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      982/smbd        tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN      4134/python    tcp6       0      0 :::139                  :::*                    LISTEN      982/smbd        tcp6       0      0 :::80                   :::*                    LISTEN      1832/apache2    tcp6       0      0 :::22                   :::*                    LISTEN      985/sshd        tcp6       0      0 ::1:631                 :::*                    LISTEN      1267/cupsd      tcp6       0      0 ::1:25                  :::*                    LISTEN      1748/exim4      tcp6       0      0 :::445                  :::*                    LISTEN      982/smbd        udp        0      0 127.0.0.1:53            0.0.0.0:*                           2429/dnsmasq    udp        0      0 0.0.0.0:68              0.0.0.0:*                           2403/dhclient  udp        0      0 128.54.44.214:123       0.0.0.0:*                           3430/ntpd      udp        0      0 MYIP:123                0.0.0.0:*                           3430/ntpd      udp        0      0 127.0.0.1:123           0.0.0.0:*                           3430/ntpd      udp        0      0 0.0.0.0:123             0.0.0.0:*                           3430/ntpd      udp        0      0 137.110.255.255:137     0.0.0.0:*                           2602/nmbd      udp        0      0 MYIP:137                0.0.0.0:*                           2602/nmbd      udp        0      0 128.54.47.255:137       0.0.0.0:*                           2602/nmbd      udp        0      0 128.54.44.214:137       0.0.0.0:*                           2602/nmbd      udp        0      0 0.0.0.0:137             0.0.0.0:*                           2602/nmbd      udp        0      0 137.110.255.255:138     0.0.0.0:*                           2602/nmbd      udp        0      0 MYIP:138                0.0.0.0:*                           2602/nmbd      udp        0      0 128.54.47.255:138       0.0.0.0:*                           2602/nmbd      udp        0      0 128.54.44.214:138       0.0.0.0:*                           2602/nmbd      udp        0      0 0.0.0.0:138             0.0.0.0:*                           2602/nmbd      udp        0      0 0.0.0.0:17500           0.0.0.0:*                           2885/dropbox    udp        0      0 0.0.0.0:36889           0.0.0.0:*                           1356/avahi-daemon:udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1356/avahi-daemon:udp6       0      0 ::1:123                 :::*                                3430/ntpd      udp6       0      0 fe80::fab1:56ff:fe9:123 :::*                                3430/ntpd      udp6       0      0 fe80::3e77:e6ff:fe6:123 :::*                                3430/ntpd      udp6       0      0 :::123                  :::*                                3430/ntpd      udp6       0      0 :::33792                :::*                                1356/avahi-daemon:udp6       0      0 :::5353                 :::*                                1356/avahi-daemon:

Ваш iptables вывод показывает, что ни один порт не заблокирован.

Итак, вопрос в следующем: прослушивается ли что-нибудь на порту 8000? Если порт не прослушивается, но порт не заблокирован брандмауэром nmap сообщит об этом как closed. Из здесь:

закрытый

Закрытый порт доступен (он принимает и отвечает на пробные пакеты Nmap), но на нем нет прослушивающего приложения. Они могут быть полезны для отображения того, что хост подключен к IP-адресу (обнаружение хоста или проверка ping), а также как часть обнаружения операционной системы. Поскольку закрытые порты доступны, возможно, стоит просканировать их позже на случай, если некоторые из них откроются. Администраторы могут захотеть рассмотреть возможность блокировки таких портов с помощью брандмауэра. Затем они появятся в отфильтрованном состоянии, обсуждаемом далее.

Так что nmap доклад: "996 closed ports" на самом деле говорят, что эти порты не заблокированы брандмауэром, но ни одна программа их не прослушивает. nmap сообщает о заблокированном порту как filtered:

фильтрованный

Nmap не может определить, открыт ли порт, поскольку фильтрация пакетов предотвращает попадание его зондов в порт. Фильтрация может осуществляться с помощью выделенного устройства брандмауэра, правил маршрутизатора или программного обеспечения брандмауэра на базе хоста. ...

Таким образом, если вы переведете приложение в состояние прослушивания на порту 8000, оно, скорее всего, появится в выходных данных nmap. Вы можете сделать это, если просто запустите python3 -m http.server или python -m SimpleHTTPServer на компьютере, на котором вы пытаетесь открыть порты, это приведет к тому, что HTTP-сервер будет прослушивать порт 8000. Затем беги nmap снова просканируйте машину.

ОБНОВЛЕНИЕ:

Ваш netstat на выходе есть эта строка:

tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN      4134/python  

Это означает, что ваша программа python прослушивает только localhost (127.0.0.1), поэтому она доступна только с localhost, а не извне. Программа должна прослушивать IP-адрес вашего сетевого адаптера или универсальный IP-адрес 0.0.0.0. Проблема в том, что я написал выше, ни одна программа не прослушивает порт 8000 (из внешнего мира), поэтому nmap говорит, что он закрыт.

Чтобы Включить Порт В Ubuntu

sudo ufw allow <port_nr>

например, разрешить ssh

sudo ufw allow 22sudo ufw enable

вот и все