Como habilitar a sinergia 24800 (ou alguma outra porta) através do firewalld

1

Após a atualização para o Fedora 18, Synergy, o sistema de compartilhamento de teclado foi bloqueado por padrão. O culpado foi o firewalld, que alegremente ignorou minhas configurações anteriores feitas na GUI do Fedora, com o suporte do iptables.

~]$ ps aux | grep firewall
root      3222  0.0  1.2  22364 12336 ?        Ss   18:17   0:00 /usr/bin/python /usr/sbin/firewalld --nofork
david     3783  0.0  0.0   4788   808 pts/0    S+   20:08   0:00 grep --color=auto firewall
~]$ 

Ok, então, como contornar isso? Eu fiz sudo killall firealld por várias semanas, mas isso ficou irritante toda vez que eu reiniciei. Era hora de procurar algumas pistas. Havia vários forros, mas eles não funcionaram para mim. Eles continuaram cuspindo o texto de ajuda. Por exemplo:

~]$ sudo firewall-cmd --zone=internal --add --port=24800/tcp
[sudo] password for auser: 
option --add not a unique prefix

Além disso, as postagens que clamied este comando funcionou também afirmaram que era temporário, incapaz de sobreviver a uma reinicialização. Acabei adicionando um arquivo ao diretório de configuração para ser carregado na inicialização.

Alguém poderia dar uma olhada nisso e ver se eu perdi alguma coisa? Embora a sinergia funcione, quando executo o comando list, não obtenho resultado:

~]$ sudo firewall-cmd --zone=internal --list-services
ipp-client mdns dhcpv6-client ssh samba-client
~]$ sudo firewall-cmd --zone=internal --list-ports
~]$
    
por ndasusers 18.04.2013 / 02:33

2 respostas

1

Isto é como abrir a porta com firewalld. Eu não encontrei um gui como o antigo programa Firewall, e percebi que o firewalld estava ignorando minhas regras anteriores de sinergia.

O Firewalld é instalado com alguns arquivos de configuração padrão que podem ser usados para permitir serviços ou portas pelo sistema.

~]$ sudo ls -l /usr/lib/firewalld/zones
total 36
-rw-r-----. 1 root root 256 Feb 20 10:37 block.xml
-rw-r-----. 1 root root 293 Feb 20 10:37 dmz.xml
-rw-r-----. 1 root root 226 Feb 20 10:37 drop.xml
-rw-r-----. 1 root root 319 Feb 20 10:37 external.xml
-rw-r-----. 1 root root 400 Feb 20 10:37 home.xml
-rw-r-----. 1 root root 415 Feb 20 10:37 internal.xml
-rw-r-----. 1 root root 340 Feb 20 10:37 public.xml
-rw-r-----. 1 root root 179 Feb 20 10:37 trusted.xml
-rw-r-----. 1 root root 367 Feb 20 10:37 work.xml

Eu decidi pegar o internal.xml para um giro e copiei dele do diretório de instalação para o diretório de carregamento em / etc / firewalld / e editei isso para adicionar minha porta para sinergia.

~]$ sudo cp /usr/lib/firewalld/zones/internal.xml /etc/firewalld/zones
~]$ sudo vi /etc/firewalld/zones/internal.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Internal</short>
  <description>For use on internal networks. You mostly trust the other computers 
  on the networks to not harm your computer. Only selected incoming connections 
  are accepted.</description>
  <service name="ssh"/>
  <service name="ipp-client"/>
  <service name="mdns"/>
  <service name="samba-client"/>
  <service name="dhcpv6-client"/>
  <port port="24800" protocol="tcp"/>  <-- Here is my addition. 
</zone>

Salvei o arquivo, reiniciei o firewalld e meu aplicativo de sinergia voltou a funcionar.

~]$ sudo service firewalld restart

Eu não uso os outros serviços com muita freqüência, mas eu tenho pasta de compartilhamento aqui e posso fazer um login uma vez em uma lua azul, então id não se preocupou em apagar os outros.

Para fazer isso, mudei o padrão firewalld.conf para interno também.

~]$ sudo vi /etc/firewalld/firewalld.conf
# firewalld config file

# default zone
# The default zone used if an empty zone string is used.
# Default: public
DefaultZone=internal   <-- changed this line

Em suma, acho que é muito simples editar a configuração. Muito mais fácil para um noob como eu entender do que as regras do iptables.

Espero que ajude você a seguir em frente com o novo Fedora.

Atualização: Acontece que eu digitei o comando add errado. Para usar a porta ou serviço add temporário, é assim:

~]$ sudo  firewall-cmd --add-port=24800/tcp
~]$ sudo  firewall-cmd  --list-all
internal
  interfaces: eth0
  services: ipp-client mdns dhcpv6-client ssh samba-client
  ports: 24800/tcp
  forward-ports: 
  icmp-blocks: 

A coisa que você gosta de adicionar, é anexada ao comando --add com um -.

Agora na página man, também vejo uma opção permanente. Então, eu faço uma tentativa:

~]$ sudo  firewall-cmd --permanent --add-port=24800/tcp
~]$ sudo  firewall-cmd --complete-reload
~]$ sudo  firewall-cmd  --list-all
internal
  interfaces: eth0
  services: ipp-client mdns dhcpv6-client samba-client ssh
  ports: 24800/tcp
  forward-ports: 
  icmp-blocks: 

Até agora, tudo bem. Após a reinicialização, vou ver o que tenho. Enquanto isso eu encontro uma mudança no diretório da zona:

~]$ sudo ls /etc/firewalld/zones
internal.xml  internal.xml.old
~]$ sudo cat /etc/firewalld/zones/internal.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Internal</short>
  <description>For use on internal networks. You mostly trust the other computers on the networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ipp-client"/>
  <service name="mdns"/>
  <service name="dhcpv6-client"/>
  <service name="samba-client"/>
  <service name="ssh"/>
  <port protocol="tcp" port="24800"/>
</zone>
    
por 18.04.2013 / 02:33
1

Depois de ler man firewall-cmd eu corri;

sudo firewall-cmd --permanent --add-port=24800/tcp

e reboot fizeram o truque para mim

    
por 25.11.2013 / 04:57