How to disable LAN but enable WAN

How do credit card companies know what type of business I'm paying for?

How can this shape perfectly cover a cube?

How can a flywheel makes engine runs smoothly?

New Site Design!

How do I gain the trust of other PCs?

Why are British voters more likely to back the main parties in general elections than in European Parliament elections?

Is my research statement supposed to lead to papers in top journals?

Can you cover a cube with copies of this shape?

How to write a nice frame challenge?

XML Query Question

What is the context for Napoleon's quote "[the Austrians] did not know the value of five minutes"?

Why can't I craft scaffolding in Minecraft 1.14?

How do I run a script as sudo at boot time on Ubuntu 18.04 Server?

How did Avada Kedavra get its name?

Why is gun control associated with the socially liberal Democratic party?

On George Box, Galit Shmueli and the scientific method?

Have Steve Rogers (Captain America) and a young Erik Lehnsherr (Magneto) interacted during WWII?

How to ask if I can mow my neighbor's lawn

High-end PC graphics circa 1990?

How to comprehend this notation?

Should I email my professor to clear up a (possibly very irrelevant) awkward misunderstanding?

Are their examples of rowers who also fought?

Will users know a CardView is clickable?

Fill the maze with a wall-following Snake until it gets stuck



How to disable LAN but enable WAN







.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















Why do I need that



I have a server on a large company network running new version of jenkins. I've migrated all the jobs (>600) over to a new server. Those jobs connect to different servers across our network. After starting jenkins some jobs will run overriding artifacts, pushing docker images to internal registries and so on. To prevent that without going into all 600 jobs and disabling then, I wish to disable local network access from the server. The network admins said that they don't want to mess with the firewall rules in fear they'll disable access to some important servers. So its on me to implement on the server side using iptables.



What do I need



What do I wish to do is to disable LAN access except one ip, and enable internet access. In more detail it goes like this.



Allow access to the server for ssh on port 22 and jenkins on port 8080 (I'm located on a different subnet than the server)



Allow access to the internet for plugin install and external build dependencies.



Drop anything going from the server to the local network 10.0.0.0/8. The server is located on 10.x.x.x/24 and it has access to different subnets over the router on 10.x.x.1



What have I tried



Final try before giving up. Didn't do anything.



#my ip 
iptables -j ACCEPT -s 10.x.x.x -i ens160 -A IN_public
iptables -j ACCEPT -d 10.x.x.x -o ens160 -A OUTPUT_direct

#subnet
iptables -j DROP -d 10.0.0.0/8 -o ens160 -A OUTPUT_direct









share|improve this question




























    0















    Why do I need that



    I have a server on a large company network running new version of jenkins. I've migrated all the jobs (>600) over to a new server. Those jobs connect to different servers across our network. After starting jenkins some jobs will run overriding artifacts, pushing docker images to internal registries and so on. To prevent that without going into all 600 jobs and disabling then, I wish to disable local network access from the server. The network admins said that they don't want to mess with the firewall rules in fear they'll disable access to some important servers. So its on me to implement on the server side using iptables.



    What do I need



    What do I wish to do is to disable LAN access except one ip, and enable internet access. In more detail it goes like this.



    Allow access to the server for ssh on port 22 and jenkins on port 8080 (I'm located on a different subnet than the server)



    Allow access to the internet for plugin install and external build dependencies.



    Drop anything going from the server to the local network 10.0.0.0/8. The server is located on 10.x.x.x/24 and it has access to different subnets over the router on 10.x.x.1



    What have I tried



    Final try before giving up. Didn't do anything.



    #my ip 
    iptables -j ACCEPT -s 10.x.x.x -i ens160 -A IN_public
    iptables -j ACCEPT -d 10.x.x.x -o ens160 -A OUTPUT_direct

    #subnet
    iptables -j DROP -d 10.0.0.0/8 -o ens160 -A OUTPUT_direct









    share|improve this question
























      0












      0








      0








      Why do I need that



      I have a server on a large company network running new version of jenkins. I've migrated all the jobs (>600) over to a new server. Those jobs connect to different servers across our network. After starting jenkins some jobs will run overriding artifacts, pushing docker images to internal registries and so on. To prevent that without going into all 600 jobs and disabling then, I wish to disable local network access from the server. The network admins said that they don't want to mess with the firewall rules in fear they'll disable access to some important servers. So its on me to implement on the server side using iptables.



      What do I need



      What do I wish to do is to disable LAN access except one ip, and enable internet access. In more detail it goes like this.



      Allow access to the server for ssh on port 22 and jenkins on port 8080 (I'm located on a different subnet than the server)



      Allow access to the internet for plugin install and external build dependencies.



      Drop anything going from the server to the local network 10.0.0.0/8. The server is located on 10.x.x.x/24 and it has access to different subnets over the router on 10.x.x.1



      What have I tried



      Final try before giving up. Didn't do anything.



      #my ip 
      iptables -j ACCEPT -s 10.x.x.x -i ens160 -A IN_public
      iptables -j ACCEPT -d 10.x.x.x -o ens160 -A OUTPUT_direct

      #subnet
      iptables -j DROP -d 10.0.0.0/8 -o ens160 -A OUTPUT_direct









      share|improve this question














      Why do I need that



      I have a server on a large company network running new version of jenkins. I've migrated all the jobs (>600) over to a new server. Those jobs connect to different servers across our network. After starting jenkins some jobs will run overriding artifacts, pushing docker images to internal registries and so on. To prevent that without going into all 600 jobs and disabling then, I wish to disable local network access from the server. The network admins said that they don't want to mess with the firewall rules in fear they'll disable access to some important servers. So its on me to implement on the server side using iptables.



      What do I need



      What do I wish to do is to disable LAN access except one ip, and enable internet access. In more detail it goes like this.



      Allow access to the server for ssh on port 22 and jenkins on port 8080 (I'm located on a different subnet than the server)



      Allow access to the internet for plugin install and external build dependencies.



      Drop anything going from the server to the local network 10.0.0.0/8. The server is located on 10.x.x.x/24 and it has access to different subnets over the router on 10.x.x.1



      What have I tried



      Final try before giving up. Didn't do anything.



      #my ip 
      iptables -j ACCEPT -s 10.x.x.x -i ens160 -A IN_public
      iptables -j ACCEPT -d 10.x.x.x -o ens160 -A OUTPUT_direct

      #subnet
      iptables -j DROP -d 10.0.0.0/8 -o ens160 -A OUTPUT_direct






      iptables






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked May 31 at 9:25









      CodeBreakerCodeBreaker

      274




      274




















          1 Answer
          1






          active

          oldest

          votes


















          3














          Some important notes before I'll provide the ruleset:




          • Avoid the modification firewall by scripts. Best flow:



            1. Save the current rule set with command iptables-save > fwrules.v4

            2. Edit the rules

            3. Test the rules with command iptables-restore -t fwrules.v4

            4. Safety apply the rules with command iptables-apply -t <timeout> fwrules.v4. Where <timeout> is timeout of confirmation in seconds. If you don't confirm the new rule set, it will rollback to the previous set.


          • I guess the server has single network interface.


          • Rule set itself:

          *filter
          :INPUT DROP [0:0]
          :FORWARD DROP [0:0]
          :OUTPUT ACCEPT [0:0]

          # allow reply packets
          -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

          # allow incoming ICMP like ping and other
          -A INPUT -p icmp -j ACCEPT

          # allow to ssh and to jenkins from anywhere
          -A INPUT -m conntrack --ctstate NEW -p tcp -m multiport --dports 22,8080 -j ACCEPT

          # allow localhost connections
          -A INPUT -i lo -j ACCEPT

          # allow output packets to trust host
          -A OUTPUT --dst 10.0.0.12 -j ACCEPT

          # block output packets to other lan hosts
          -A OUTPUT --dst 10.0.0.0/8 -j REJECT

          COMMIT


          • What's about DNS servers addresses? You should allow it too if they are in the local subnet.

          • The order of rules is very important.





          share|improve this answer























          • That did the trick. Now I have a better understanding of iptables. Thank you!

            – CodeBreaker
            May 31 at 12:41











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "2"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f969623%2fhow-to-disable-lan-but-enable-wan%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3














          Some important notes before I'll provide the ruleset:




          • Avoid the modification firewall by scripts. Best flow:



            1. Save the current rule set with command iptables-save > fwrules.v4

            2. Edit the rules

            3. Test the rules with command iptables-restore -t fwrules.v4

            4. Safety apply the rules with command iptables-apply -t <timeout> fwrules.v4. Where <timeout> is timeout of confirmation in seconds. If you don't confirm the new rule set, it will rollback to the previous set.


          • I guess the server has single network interface.


          • Rule set itself:

          *filter
          :INPUT DROP [0:0]
          :FORWARD DROP [0:0]
          :OUTPUT ACCEPT [0:0]

          # allow reply packets
          -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

          # allow incoming ICMP like ping and other
          -A INPUT -p icmp -j ACCEPT

          # allow to ssh and to jenkins from anywhere
          -A INPUT -m conntrack --ctstate NEW -p tcp -m multiport --dports 22,8080 -j ACCEPT

          # allow localhost connections
          -A INPUT -i lo -j ACCEPT

          # allow output packets to trust host
          -A OUTPUT --dst 10.0.0.12 -j ACCEPT

          # block output packets to other lan hosts
          -A OUTPUT --dst 10.0.0.0/8 -j REJECT

          COMMIT


          • What's about DNS servers addresses? You should allow it too if they are in the local subnet.

          • The order of rules is very important.





          share|improve this answer























          • That did the trick. Now I have a better understanding of iptables. Thank you!

            – CodeBreaker
            May 31 at 12:41















          3














          Some important notes before I'll provide the ruleset:




          • Avoid the modification firewall by scripts. Best flow:



            1. Save the current rule set with command iptables-save > fwrules.v4

            2. Edit the rules

            3. Test the rules with command iptables-restore -t fwrules.v4

            4. Safety apply the rules with command iptables-apply -t <timeout> fwrules.v4. Where <timeout> is timeout of confirmation in seconds. If you don't confirm the new rule set, it will rollback to the previous set.


          • I guess the server has single network interface.


          • Rule set itself:

          *filter
          :INPUT DROP [0:0]
          :FORWARD DROP [0:0]
          :OUTPUT ACCEPT [0:0]

          # allow reply packets
          -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

          # allow incoming ICMP like ping and other
          -A INPUT -p icmp -j ACCEPT

          # allow to ssh and to jenkins from anywhere
          -A INPUT -m conntrack --ctstate NEW -p tcp -m multiport --dports 22,8080 -j ACCEPT

          # allow localhost connections
          -A INPUT -i lo -j ACCEPT

          # allow output packets to trust host
          -A OUTPUT --dst 10.0.0.12 -j ACCEPT

          # block output packets to other lan hosts
          -A OUTPUT --dst 10.0.0.0/8 -j REJECT

          COMMIT


          • What's about DNS servers addresses? You should allow it too if they are in the local subnet.

          • The order of rules is very important.





          share|improve this answer























          • That did the trick. Now I have a better understanding of iptables. Thank you!

            – CodeBreaker
            May 31 at 12:41













          3












          3








          3







          Some important notes before I'll provide the ruleset:




          • Avoid the modification firewall by scripts. Best flow:



            1. Save the current rule set with command iptables-save > fwrules.v4

            2. Edit the rules

            3. Test the rules with command iptables-restore -t fwrules.v4

            4. Safety apply the rules with command iptables-apply -t <timeout> fwrules.v4. Where <timeout> is timeout of confirmation in seconds. If you don't confirm the new rule set, it will rollback to the previous set.


          • I guess the server has single network interface.


          • Rule set itself:

          *filter
          :INPUT DROP [0:0]
          :FORWARD DROP [0:0]
          :OUTPUT ACCEPT [0:0]

          # allow reply packets
          -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

          # allow incoming ICMP like ping and other
          -A INPUT -p icmp -j ACCEPT

          # allow to ssh and to jenkins from anywhere
          -A INPUT -m conntrack --ctstate NEW -p tcp -m multiport --dports 22,8080 -j ACCEPT

          # allow localhost connections
          -A INPUT -i lo -j ACCEPT

          # allow output packets to trust host
          -A OUTPUT --dst 10.0.0.12 -j ACCEPT

          # block output packets to other lan hosts
          -A OUTPUT --dst 10.0.0.0/8 -j REJECT

          COMMIT


          • What's about DNS servers addresses? You should allow it too if they are in the local subnet.

          • The order of rules is very important.





          share|improve this answer













          Some important notes before I'll provide the ruleset:




          • Avoid the modification firewall by scripts. Best flow:



            1. Save the current rule set with command iptables-save > fwrules.v4

            2. Edit the rules

            3. Test the rules with command iptables-restore -t fwrules.v4

            4. Safety apply the rules with command iptables-apply -t <timeout> fwrules.v4. Where <timeout> is timeout of confirmation in seconds. If you don't confirm the new rule set, it will rollback to the previous set.


          • I guess the server has single network interface.


          • Rule set itself:

          *filter
          :INPUT DROP [0:0]
          :FORWARD DROP [0:0]
          :OUTPUT ACCEPT [0:0]

          # allow reply packets
          -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

          # allow incoming ICMP like ping and other
          -A INPUT -p icmp -j ACCEPT

          # allow to ssh and to jenkins from anywhere
          -A INPUT -m conntrack --ctstate NEW -p tcp -m multiport --dports 22,8080 -j ACCEPT

          # allow localhost connections
          -A INPUT -i lo -j ACCEPT

          # allow output packets to trust host
          -A OUTPUT --dst 10.0.0.12 -j ACCEPT

          # block output packets to other lan hosts
          -A OUTPUT --dst 10.0.0.0/8 -j REJECT

          COMMIT


          • What's about DNS servers addresses? You should allow it too if they are in the local subnet.

          • The order of rules is very important.






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered May 31 at 10:19









          Anton DanilovAnton Danilov

          1,6531712




          1,6531712












          • That did the trick. Now I have a better understanding of iptables. Thank you!

            – CodeBreaker
            May 31 at 12:41

















          • That did the trick. Now I have a better understanding of iptables. Thank you!

            – CodeBreaker
            May 31 at 12:41
















          That did the trick. Now I have a better understanding of iptables. Thank you!

          – CodeBreaker
          May 31 at 12:41





          That did the trick. Now I have a better understanding of iptables. Thank you!

          – CodeBreaker
          May 31 at 12:41

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Server Fault!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f969623%2fhow-to-disable-lan-but-enable-wan%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

          Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

          What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company